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