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.000
1 ≤ 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; }