Pagini recente » Cod sursa (job #2217946) | Cod sursa (job #1716799) | Cod sursa (job #2556755) | Cod sursa (job #2550690) | Cod sursa (job #639515)
Cod sursa(job #639515)
#include<fstream>
#include<math.h>
#include<iostream>
int main()
{
using namespace std;
int a[100000],i,j,b[100000],n,max,u,k;
int s,nr,in,numar;
ifstream f("ssnd.in");
ofstream g("ssnd.out");
f>>n;
a[1]=2;
u=1;
b[1]=2;
for(i=2;i<=50000;i++)
b[i]=i*2-1;
for(i=2;i<=50000;i++)
if(b[i]!=0)
{
a[++u]=b[i];
for(j=i+b[i];j<=max;j+=b[i])
{
b[j]=0;
}
}
for(i=1;i<=n;i++)
{
f>>numar;
s=1;
nr=1;
for(j=1;j<=sqrt(numar);j++)
{
if(numar%a[j]==0)
{
in=0;
k=numar;
do
{
k/=a[j];
in++;
}
while(k%a[j]==0);
s=s*((pow(a[j],in+1)-1)/(a[j]-1));
nr*=(in+1);
}
}
if(s==1&&nr==1)
{
nr=2;
s=(numar*numar-1)/(numar-1);
}
s=s%9973;
if(i<n)
g<<nr<<" "<<s<<"\n";
else
g<<nr<<" "<<s;
}
return 0;}