Pagini recente » Cod sursa (job #2313708) | Cod sursa (job #3246609) | Cod sursa (job #2709702) | Cod sursa (job #1852656) | Cod sursa (job #582892)
Cod sursa(job #582892)
#include<fstream>
#include<cmath>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
long long p,s,n,s1;
long long rid(int baza,int expo)
{int k;
p=1;
for(k=0;k<expo;k++)
p*=baza;
return p;
}
int prim(long long nu)
{int ok,d;
ok=1;
for(d=2;d<=sqrt(nu);d++)
if(nu%d==0) ok=0;
return ok;
}
long long suma(int baza1,int expo1)
{s1=0;
do{
s1+=rid(baza1,--expo1); }while(expo1!=0);
return s1;
}
int main()
{int i,t,j,fm,nr;
f>>t;
for(i=1;i<=t;i++)
{f>>nr; n=s=1; if(prim(nr)) {n*=2; s*=++nr; } else {j=2;
do
{fm=0;
while(nr%j==0) {fm++; nr/=j;} n*=(fm+1); s*=suma(j,(fm+1));
j++;
}while(nr!=1);
}g<<n<<" "<<s%9973<<'\n';}
return 0;
}