Size: a a a

cxx.Дискуссионная

2021 November 15

VU

Vadim Ushakov in cxx.Дискуссионная
Ну, сам процесс нахождения суммы пока текущий n больше делителя выглядит как-то так
int divider = 1;
while( divider < n ) {
  sum += n / divider;
  divider *= 2;
}
источник

Н

Наиль in cxx.Дискуссионная
Да, спасибо, что откликнулись. Просто я дурак, зачем-то в конце число делил, хотя не надо было
источник

УГ

Уроде Гусеница - Кру... in cxx.Дискуссионная
Эээээ, схуяли к 0? 🤔
источник

Н

Наиль in cxx.Дискуссионная
А к чему?
источник

УГ

Уроде Гусеница - Кру... in cxx.Дискуссионная
А, у тебя int вообще
источник

УГ

Уроде Гусеница - Кру... in cxx.Дискуссионная
Ну по хорошему, если ты будешь делить число > 0 на целые числа, то оно будет стремиться к 0, да, но не станет равно 0, емнип
источник

Н

Наиль in cxx.Дискуссионная
Да, я это понимаю. Тут прикол в том, что после 1 уже делиться не будет и так в конечном итоге и закончится
источник

VU

Vadim Ushakov in cxx.Дискуссионная
Ты уверен, что тебе нужно сумму целых частных подсчитать?
источник

Н

Наиль in cxx.Дискуссионная
Да
источник

VU

Vadim Ushakov in cxx.Дискуссионная
Тогда ок
источник

УГ

Уроде Гусеница - Кру... in cxx.Дискуссионная
Почему 🤔
источник

УГ

Уроде Гусеница - Кру... in cxx.Дискуссионная
(я если что на момент первого сообщения код смотрю)
источник

Н

Наиль in cxx.Дискуссионная
Потому что int - целое число, и если мы будем делить 1 на 2 или больше, то получится 0. А если у меня дошло частное до единицы, то мне больше не нужно делить, потому что прибавив 0 к сумме, ничего не изменится
источник

Н

Наиль in cxx.Дискуссионная
Или я не прав?
источник

VU

Vadim Ushakov in cxx.Дискуссионная
К слову, поверка на number > 0 будет всегда true тут, поскольку number у тебя не меняется: в момент выполнения number / i у тебя создаётся новая локальная переменная, куда сохраняется временное значение, поэтому проверку можно убрать
источник

Н

Наиль in cxx.Дискуссионная
Тогда оставить просто: if(number) ?. Аа, убрать полностью. Понял. Извините, что долго доходит
источник

УГ

Уроде Гусеница - Кру... in cxx.Дискуссионная
Ну, если у тебя из цикла не выходило - видимо нет
источник

Н

Наиль in cxx.Дискуссионная
Извините, у меня последний маленький вопрос: почему онлайн компилятор придирается к этому?
источник

Н

Наиль in cxx.Дискуссионная
источник

УГ

Уроде Гусеница - Кру... in cxx.Дискуссионная
а почему так происходит, кстати?
мы же создали и задали значение вне цикла?
источник