Pagini recente » Cod sursa (job #3142972) | Cod sursa (job #1846851) | Cod sursa (job #1493398) | Cod sursa (job #1629242) | Cod sursa (job #2366533)
#include <fstream>
#define MOD 9973
using namespace std;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
int ciur[1000003],prime[1000003],nr,a,b,card=1,nr1,n,s,c;
int paw(int numar,int putere)
{
int aux=1;
while(putere)
{
if(putere%2)
{
putere--;
aux=aux*numar;
}
else
{
putere/=2;
numar=numar*numar;
}
}
return aux;
}
int main()
{
f>>n;
ciur[1]=1;
for(int i=2;i<=1000000;++i)
if(!ciur[i])
{
nr++;
prime[nr]=i;
for(int j=2*i;j<=1000000;j+=i)
{
ciur[j]=0;
}
}
for(int i=1;i<=n;++i)
{
f>>a;b=1;s=1;card=1;
while(a>1)
{
nr1=0;
while(a%prime[b]==0&&a>1)
{
nr1++;
a/=prime[b];
}
if(nr1)
{
card=card*(nr1+1);
int c=prime[b],p;
p=paw(c,nr1+1);p--;
p/=(c-1);
s=(s*p)%MOD;
}
b++;
}
g<<card<<" "<<s<<'\n';
}
return 0;
}