Pagini recente » Cod sursa (job #583812) | Cod sursa (job #3279250) | Cod sursa (job #3238383) | Cod sursa (job #336141) | Cod sursa (job #1016156)
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
ifstream f("ssnd.in");
ofstream g("ssnd.out");
bool ciur[1000001];
int n, i, x, r, p, j, k, v[80000], t, y, e ;
for(i=2; i<=1000000; i++)
ciur[i]=true;
r=1000;
for(p=2; p<=r; p++){
if(ciur[p]==1)
for(j=p*p; j<=1000000; j+=p)
ciur[j]=false;
}
k=0;
for(i=2;i<=1000000;i++)
if(ciur[i]==true)
v[k++]=i;
f>>n;
for(i=0;i<n;i++){
f>>x;
t=0;
int nr=1, s=1;
y=x;
while(v[t]<=x && t<k){
if(x%v[t]==0){
e=0;
p=v[t];
while(x%v[t]==0){
x/=v[t];
e++;
p*=v[t];
}
nr*=(e+1);
s*=((p-1)/(v[t]-1))%9973;
}
t++;
}
if(nr==1 && s==1){
nr=2;
s=y+1;
}
g<<nr<<" "<<s%9973<<"\n";
}
}