Cod sursa(job #650773)

Utilizator FIIDutcaDutca Bogdan Andrei FIIDutca Data 18 decembrie 2011 22:15:53
Problema Suma si numarul divizorilor Scor 10
Compilator c Status done
Runda Arhiva educationala Marime 0.5 kb
#include<stdio.h>
#include<math.h>
int main()
{
	int i,t,nr;
	long n,s,d2;
	FILE *f, *g;
	f=fopen("ssnd.in","r");
	g=fopen("ssnd.out","w");
	fscanf(f,"%d",&t);
	for(i=1;i<=t;i++)
	{
		fscanf(f,"%ld",&n);
		long long d=2,p;
		s=1;nr=1;
		while(n>1)
		{
			p=0;d2=1;
			while(n%d==0)
			{
				p++;
				d2=d2*d;
				n=n/d;
			}
			if(p!=0)
			{
				nr=nr*(p+1);
				s=s*((d2*d-1)/(d-1));
			}
			d++;
		}
		fprintf(g,"%d %ld\n",nr,s);
	}
	fclose(f);
	fclose(g);
	return 0;
}