Cod sursa(job #742213)

Utilizator mihai96alexOprea Mihai Alexandru mihai96alex Data 29 aprilie 2012 00:27:22
Problema Suma si numarul divizorilor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<fstream>
#include<cmath>
using namespace std;

long long d,nr,c,s,n;
int t;
int p[1000005];
bool v[1000005];

ifstream fin("ssnd.in");
ofstream fout("ssnd.out");

void ciur()
{
	v[1]=1;
	for(int i=2;i<1000005;i++)
	{
		if(v[i]==0)
		{
			p[++p[0]]=i;
			for(int j=i+i;j<=1000005;j+=i)
				v[j]=1;
		}
	}
}

int main()
{
	fin>>t;
	ciur();
	for(int x=1;x<=t;x++)
	{
		fin>>n;
		for(int i=1;(long long)p[i]*p[i]<=n;i++)
		{
			c=0;t=p[i];
				while(n%p[i]==0)
					n/=p[i],c++,t=t*p[i];
			nr=c+1;
			s=(t-1)/(p[i]-1)%9973;
		}
			if(n>1)
			nr*=2,s*=(n+1)%9973;
		fout<<nr<<" "<<s<<"\n";
	}
	
}