Уравнение C++

Дано целое положительное число n. Сколько решений в целых положительных числах имеет уравнение 1 / n = 1 / x + 1 / y ?

Входные данные

   Целое число n (1 ≤ n ≤ 109).

Выходные данные

   Количество решений данного уравнения в натуральных числах.

 

#include <iostream>
#include <math.h>

using namespace std;

int main() {
    int c, i, n, res = 1;
    scanf("%d", &n);

    //Для каждого простого делителя i числа n подсчитываем степень c, с которой он входит в n.Умножаем результат res на 2c + 1.
    for (i = 2; i <= sqrt(1.0*n); i++)
    {
        for (c = 0; n % i == 0; c++) n /= i;
        res = res * (2 * c + 1);
    }

    //Если n > 1 по окончанию цикла, то оно равно простому делителю исходного числа n.
    //Этот делитель входит в n со степенью 1, следовательно res необходимо умножить на 2 * 1 + 1 = 3.
    if (n > 1) res *= 3;
    printf("%d\n", res);
    return 0;
}

Назад

Повышение продаж с помощью веб-форм Разложение числа на простые множители Как качественный контент способствует продвижению сайта Как выбрать хостинг Как писать SEO-тексты? Что такое SEO оптимизация сайта


Хостинг

Есть решение которого нет на сайте? Пиши admin@devexe.top