Pagini recente » Cod sursa (job #1313577) | Cod sursa (job #2162339)
#include<bits/stdc++.h>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
long long N,nr,s,T;
int nrpr[100001],len;
bool viz[1000001];
void ciur(){
long long l=sqrt(N)+1;
for(long long i=2;i<=l;++i)
if(!viz[i]){
int j=2;
nrpr[++len]=i;
while(i*j<=N)viz[i*j]=1,++j;
}
for(long long i=l+1;i<=N;++i)
if(!viz[i])
nrpr[++len]=i;
}
void calc(long long x){
ciur();
int i=1;
nr=s=1;
while(x>1){
int p=0;
long long y=x;
bool ok=1;
while(x%nrpr[i]==0)++p,x/=nrpr[i],ok=0;
if(!ok)nr*=(p+1),s=(s*((y/x*nrpr[i]-1)/(nrpr[i]-1)))%9973;
++i;
}
}
int main()
{
f>>T;
while(T--){
f>>N;
calc(N);
g<<nr<<' '<<s<<'\n';
}
return 0;
}