Pagini recente » Cod sursa (job #1596326) | Cod sursa (job #883215) | Cod sursa (job #869420) | Cod sursa (job #2474707) | Cod sursa (job #584384)
Cod sursa(job #584384)
#include<fstream>
#include<cmath>
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
long long p,s,nr,k,s1,var,m=9973,v[10000],ma=0,u,prim[10000];
void ciur()
{for(k=2;k<=ma;k++)
prim[k]=1;
for(k=2;k<=sqrt(ma);k++)
if(prim[k])
for(u=k*k;u<=ma;u+=k)
prim[u]=0;
}
long long put(int baza,int expo)
{if(expo==1) {return baza;}
if(expo&1) {return (baza*put(baza,expo-1));}
else {var=put(baza,expo/2); return (var*var);}
}
int main()
{int j,fm,t,n,i;
f>>t;
for(i=1;i<=t;i++)
{f>>v[i]; if(v[i]>ma) ma=v[i];}
for(i=1;i<=t;i++)
{n=s=1; if(prim[v[i]]) {n*=2; s*=(1+v[i]);}else { j=2;
do
{fm=0;
while(v[i]%j==0) {fm++; v[i]/=j;} n*=(fm+1);
s*=(put(j,fm+1)-1)/(j-1);
j++;
}while(v[i]!=1);
}
g<<n<<" "<<s%m<<'\n';}
return 0;
}