Pagini recente » Cod sursa (job #573347) | Cod sursa (job #1891616) | Cod sursa (job #966282) | Cod sursa (job #1584207) | Cod sursa (job #2367632)
#include<fstream>
using namespace std;
ifstream f ("ssnd.in");
ofstream g ("ssnd.out");
int t,viz[1000110],nr[1000100];
long long n,numar,sum,q,k,p,val;
int main()
{
for(int d=2;d<=1000001;++d){
if(!viz[d]){
nr[++k]=d;
for(int j=d+d;j<1000001;j+=d)viz[j]=1;
}
}
f>>t;
for(int i=1;i<=t;++i){
f>>n;
numar=1;
sum=1;
q=1;
while(nr[q]*nr[q]<=n&&q<=k){
p=1;
val=nr[q];
while(n%nr[q]==0){
++p;
n/=nr[q];
val=val*nr[q];
}
if(p!=1){
numar=numar*p;
sum=sum*((val-1)/(nr[q]-1));
}
++q;
}
if(n!=1){
sum=(sum*(n+1));
numar=2*numar;
}
g<<numar%9973<<" "<<sum%9973<<'\n';
}
}