Pagini recente » Cod sursa (job #2088817) | Cod sursa (job #2181870) | Cod sursa (job #909916) | Cod sursa (job #2465289) | Cod sursa (job #2738650)
#include <bits/stdc++.h>
#define mod 9973
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
long long putere(long long baza, long long exp)
{
if(exp==0)return 1;
if(exp==1)return baza;
if(exp%2==0)return putere((baza*baza)%mod,exp/2);
if(exp%2==1)return (baza*putere(baza,exp-1))%mod;
}
bool a[1000010];
long long i,d,nr_div,t,k,pas,nr,suma_div,x,prim[100100];
int main()
{
for(d=2;d<=1000000;d++)
{
if(a[d]==0)
{
t++;prim[t]=d;
for(i=d*d;i<=1000000;i+=d)
a[i]=1;
}
}
f>>t;
for(pas=1;pas<=t;pas++)
{
f>>x;
k=1;nr_div=1,suma_div=1;
while(prim[k]*prim[k]<=x)
{
if(x%prim[k]==0)
{
nr=0;
while(x%prim[k]==0)x/=prim[k],nr++;
nr_div=nr_div*(nr+1);
suma_div=(suma_div*((putere(prim[k],nr+1)-1+mod)%mod)*(putere(prim[k]-1,mod-2)%mod))%mod;
}
k++;
}
if(x!=1)
{
nr_div*=2;
nr=1;
suma_div=(suma_div*(putere(x,nr+1)-1+mod)%mod*putere(x-1,mod-2)%mod)%mod;
}
g<<nr_div<<" "<<suma_div<<'\n';
}
return 0;
}