Pagini recente » Cod sursa (job #435781) | Cod sursa (job #1320662) | Cod sursa (job #2964061) | Cod sursa (job #508471) | Cod sursa (job #2737293)
#include <iostream>
#include <math.h>
#include <fstream>
using namespace std;
ifstream f("ssnd.in.txt");
ofstream o("ssnd.out.txt");
int d[30], put[30];
int m;
int t, nr_div;
long long n, sum;
float sq;
int ciur[10];
int main()
{
f >> t;
for (int i = 0; i < t; i++){
f >> n;
m = 0;
for (long long j = 2; n != 1; j++){
if (n % j == 0){
n = n / j;
d[++m] = j;
put[m] = 1;
while(n % j == 0){
put[m]++;
n = n/j;
}
} else {
if (j * j > n){
d[++m] = n;
put[m] = 1;
n = 1;
}
}
}
sum = 1;
for (int j = 1; j <= m; j++){
sum *= (pow(d[j],put[j]+1) - 1)/(d[j]-1);
}
nr_div = 1;
for (int j = 1; j <= m; j++){
nr_div *= (put[j] + 1);
}
o << nr_div << " " << sum << endl;
}
return 0;
}