Решение задачи "Количество делителей" с Mccme

С пояснением   Просмотров: 12


Подсчитайте количество натуральных делителей числа x (включая 1 и само число; x2109).

Код

#include <bits/stdc++.h>

using namespace std;
int main()
{
    int a, k = 0;
    cin >> a;
    for(int i = 1; i <= sqrt(a) - 1; ++i){
        if(a % i == 0)
            ++k;
    }
    k *= 2;
    if(sqrt(a) == int(sqrt(a)))
        ++k;
    cout << k;
    return 0;
}

         

 Администратор Photo Автор: Администратор


Циклом пробегаемся от 1 до (корня X)-1, и проверяем на делимость, если делится, то увеличиваем счетчик. После цикла удваиваем наш счетчик, так как любое число если имеет делитель до корня этого числа, то он имеет ещё один делитель после корня этого числа. Проверяем отдельным if-ом случай для корня X, если делится нацело, то увеличиваем на один и выводим наш счетчик, иначе просто выводим счетчик.

Отправить решение задачи
Чтобы отправить решение вам нужно войти в систему или зарегистрироваться

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться