Cod sursa(job #471329)

Utilizator ChallengeMurtaza Alexandru Challenge Data 18 iulie 2010 09:52:51
Problema Suma si numarul divizorilor Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>

using namespace std;

const char InFile[]="ssnd.in";
const char OutFile[]="ssnd.out";

ifstream fin(InFile);
ofstream fout(OutFile);

const long long MOD=9973;

int t,p,k;
long long nr, s, d, P, S;

int main()
{
	fin>>t;
	for(register int i=0;i<t;++i)
	{
		fin>>nr;
		p=2;
		k=0;
		s=d=1;
		while(nr>1)
		{
			if(nr%p==0)
			{
				k=0;
				P=1;
				S=1;
				while(nr%p==0)
				{
					P*=p;P%=MOD;
					S+=P;
					S%=MOD;
					++k;
					nr/=p;
				}
				d*=k+1;
				s*=S;
				s%=MOD;
			}
			++p;
		}
		fout<<d<<" "<<s<<"\n";
	}
	fin.close();
	fout.close();
	return 0;
}