1. Objective C / Говнокод #23208

    +1

    1. 1
    2. 2
    NSString* string = [NSString stringWithFormat:@"%li", (long)number];
    NSInteger strCount = [string length] - [[string stringByReplacingOccurrencesOfString:@"1" withString:@""] length];

    Считаем количество единичек в числе.

    Взято отсюда: https://david-smith.org/blog/2017/07/07/a-favorite-hack/

    Запостил: gumbert, 21 Июля 2017

    Комментарии (11) RSS

    • Автор утверждает, что

      > I poked a round a bit on the mathematical side of this but couldn’t work out a way to count how many 1s there were in a given number via mathematical means. There might be a way to do this, but I couldn’t find it.

      facepalm.jpg
      Ответить
    • Битоёбство через строки рулит. Мы так даже битовые and, or и сдвиги мутили для одной субд, которая изкоробки в них не умела...
      Ответить
      • Пф, мое битоебство-фу круче твоего: мы мутили битовые операции (и операции поинтереснее) на машине Тьюринга - спасибо alma mater за этот чудесный опыт.
        Ответить
    • А теперь смотрим, как это будет выглядеть в столь ненавидимом вами "PHP":
      $strCount=substr_count($string, '1');
      Какие-то вопросы?
      Ответить

    Добавить комментарий