396
Cerința
Gigel a învăţat la matematică despre cel mai mic multiplu comun a două numere şi acum trebuie să determine pentru fiecare valoare x dintr-un set de valori date câte perechi ordonate de numere naturale (a,b) au cel mai mic multiplu comun x.
Date de intrare
Programul citește de la tastatură număr n, apoi n valori x.
Date de ieșire
Programul va afișa pe ecran n valori, separate prin exact un spaţiu; fiecare valoare afișată reprezintă numărul de perechi care au cel mai mic multiplu comun egal cu valoarea x corespunzătoare.
Restricții și precizări
1 ≤ n ≤ 1.0001 ≤ x ≤ 2.000.000.000
Exemplu
Intrare
2 12 4
Ieșire
15 5
Explicație
Cele 15 perechi pentru care cel mai mic multiplu comun este 12 sunt: (1,12), (2,12), (3,4), (3,12), (4,3), (4,6), (4,12), (6,4), (6,12), (12,1), (12,2), (12,3), (12,4), (12,6), (12,12).
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n , x;
cin >> n;
for(int i = 0 ; i < n ; ++i)
{
cin >> x;
int d = 2;
int p = 1;
while(x > 1)
{
if(x % d == 0)
{
int e = 0;
while(x % d == 0)
e++ , x/=d;
p*=(2 * e + 1);
}
else d++;
if(x > 1 && d*d>x)
{
p*=3;
break;
}
}
cout << p << ' ';
}
return 0;
}
Comentarii