Pagini recente » romanian_masters | Cod sursa (job #149628) | Cod sursa (job #852979) | Cod sursa (job #3204169) | Cod sursa (job #1240044)
#include<fstream>
using namespace std;
ifstream fin("ssnd.in");
ofstream fout("ssnd.out");
long long mare=100,i,j,suma,viz[1000001],numar,t,n,p,geometrica,m,x,OK;
int main()
{
fin>>t;
for(i=2;i<=mare;i++)
{
if(viz[i]==0)
{
for(j=2;i*j<=mare;j++)
viz[i*j]=1;
}
}
for(i=1;i<=t;i++)
{
fin>>n;
x=n;
numar=suma=1;OK=1;
for(j=2;j*j<=n;j++)
{
if(!viz[j] && x%j==0 && x>1)
{
OK=0;
p=0;
while(x%j==0)
{
x=x/j;
p++;
}
geometrica=1;
numar=numar*(p+1);
for(m=1;m<=p+1;m++)
geometrica=geometrica*j;
geometrica--;
geometrica=geometrica/(j-1);
suma=suma*geometrica;
}
}
if(OK)
{
numar=2;
suma=1+n;
}
fout<<numar<<" "<<suma%9973<<"\n";
}
return 0;
}