Cod sursa(job #494668)

Utilizator gramatovici_paulGramatovici Paul gramatovici_paul Data 22 octombrie 2010 16:00:01
Problema Suma si numarul divizorilor Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<stdio.h>
#include<fstream>
using namespace std;

ofstream out("ssnd.out");
long long ii,t,n,i,j,p,k,s,nr;
int main()
{
	freopen("ssnd.in","r",stdin);
	freopen("ssnd.out","w",stdout);
	scanf("%lld",&t);
	//for (ii=1;ii<=t;++ii)
	while(t--)
	{
		scanf("%lld",&n);
		nr=1;
		s=1;
		for(i=2;i*i<=n;++i)   
			if (n%i==0)
			{
				p=0;
				k=1;
				while(n%i==0)
				{
					n/=i;
					++p;
					k*=i;
				}
				nr*=p+1;
				s=s*((k*i-1)/(i-1))%9973;
			}
		if (n!=1)
		{
			nr*=2;
			s=s*(n*n-1)/(n-1)%9973;
		}
		//printf("%lld %lld\n",nr,s);
		out<<nr<<" "<<s<<"\n";
	}
	return 0;
}