Pagini recente » Cod sursa (job #3144205) | Cod sursa (job #839523) | Cod sursa (job #2769177) | Cod sursa (job #2762461) | Cod sursa (job #799010)
Cod sursa(job #799010)
#include<fstream>
#define LL long long
#define M 9973
using namespace std;
LL n, d[50], p[50];
int t, k;
inline void descompune(LL n, LL d[], LL p[], int &k)
{
LL x = 2;
k = 0;
while(n > 1)
{
if(!(n % x))
{
k++;
p[k] = x;
d[k] = 0;
while(!(n % x))
{
n /= x;
d[k]++;
}
}
x++;
}
}
int main()
{
ifstream f("ssnd.in");
ofstream g("ssnd.out");
f>>t;
for(int r = 1; r <= t; ++r)
{
f>>n;
LL nr;
LL sum;
descompune(n, d, p, k);
nr = 1;
sum = 1;
LL putere;
if(k == 1)
{
nr = 1 + d[k];
putere =1;
for(int j = 1; j <= d[k] + 1; ++j)
putere =(putere * p[k]) % M;
putere--;
putere = (putere/(p[k] - 1))%M;
sum = (sum * putere) % M;
}
else
{
for(int i = 1; i <= k; ++i)
{
nr = (nr + (1 + d[i])) % M;
putere =1;
for(int j = 1; j <= d[i] + 1; ++j)
putere =(putere * p[i]) % M;
putere--;
putere = (putere/(p[i] - 1))%M;
sum = (sum * putere) % M;
}
}
g<<nr<<' '<<sum <<'\n';
}
g.close();
return 0;
}