Найдите
сумму делителей числа n.
Вход. Одно
натуральное число n (n < 10000).
Выход. Вывести
сумму делителей числа n.
Пример входа |
Пример выхода |
6 |
12 |
делители
Переберем
все значения i от 1 до и проверим, делится ли
n на i. Если i < , и i – делитель
числа n, то n / i также будет
делителем числа n.
Отдельно
следует обработать случай, если n
является полным квадратом: тогда и n / равны друг другу.
Реализация алгоритма
Читаем
входное значение n.
scanf("%d",&n);
В переменной res
находим сумму делителей.
res = 0;
Перебираем делители от 1 до не включительно.
for(i = 1; i *
i < n; i++)
if (n % i == 0) res = res + i + n / i;
На данный момент i
= . Если число n
является полным квадратом, то следует учесть делитель i.
if (i * i ==
n) res += i;
printf("%d\n",res);