Cod sursa(job #494663)

Utilizator tudor0013tudor petrescu tudor0013 Data 22 octombrie 2010 15:53:09
Problema Suma si numarul divizorilor Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<stdio.h>
long i,n,t,a,j,p,sigma,tau;
int main()
{
	freopen("ssnd.in","r",stdin);
	freopen("ssnd.out","w",stdout);
	scanf("%ld",&t);
	for(j=1;j<=t;j++)
	{
		scanf("%ld",&n);
		sigma=1;
		tau=1;
		for(i=2;i<=n;i++)
			if(n%i == 0)
			{
				a=1;
				p=0;
				while(n%i == 0)
				{
					n /= i;
					++p;
					a *= i;
				}
				tau *= 1+p;
				sigma = sigma * ((a*i-1) / (i-1))%9973;              
			}
		if(n!=1)
		{
			tau *= 2;
			sigma = sigma * (n+1) %9973; 	
		}
		printf("%ld %ld\n",tau,sigma);
		
	}
	return 0;
}