Pagini recente » Cod sursa (job #818567) | Cod sursa (job #1774816) | Cod sursa (job #1709900) | Cod sursa (job #1555974) | Cod sursa (job #1919042)
#include <fstream>
#include <iostream>
#include <vector>
#define maxv 1000005
#include <algorithm>
using namespace std;
ifstream f ("ssnd.in");
ofstream g ("ssnd.out");
int n, i, v[ 1001 ], d, x, e, nr, a, sol, j, s, p,q;
bool ciur[ maxv ];
int main() {
ciur [ 1 ] = 1;
ciur [ 0 ] = 1;
for ( d = 2; d * d <= maxv; ++d ){
if ( ciur[d]==0 )
for ( i = d * d; i <= maxv; i = i + d )
ciur[i] = 1;
}
f >> n;
for ( i = 1; i <= n; ++i ){
f >> x;
nr = 1;
s = 1;
d = 2;
while( d * d <= x ){
e = 0;
while ( x % d == 0 ){
x = x / d;
e++;
}
nr = nr * ( e + 1 );
q = d;
while ( e > 0 ){
e--;
q = q * d;
}
s = s * ( ( q - 1 ) / ( d - 1 ) );
d++;
}
cout << x << ' ';
if ( x > 1 ){
nr = nr * 2;
s = s * ( ( x * x - 1 ) / ( x - 1 ) );
}
g << nr << " " << s << '\n';
}
return 0;
}