Cod sursa(job #651245)

Utilizator kinda_93kinda asfour kinda_93 Data 20 decembrie 2011 00:42:27
Problema Suma si numarul divizorilor Scor 10
Compilator c Status done
Runda Arhiva educationala Marime 0.51 kb
#include "stdio.h"
#include "malloc.h"

typedef unsigned int DWORD;

DWORD n,i,nr,sum,d,c,x,tmp;
FILE *f,*g;

int main()
{
	f = fopen("ssnd.in","r");
	fscanf(f,"%d",&n);
	g = fopen("ssnd.out","w");
	for(i =0; i<n;i++)
	{
		fscanf(f,"%d",&x);
		nr = 1;
		sum = 1;
		d = 2;
		while(x!=1)
		{
			tmp = x;
			c = 0;
			while(x%d == 0)
			{
				c++;
				x/=d;
			}
			nr*=c+1;
			sum*=((tmp/x)*d-1)/(d-1);
			d++;
		}
		fprintf(g,"%d %d\n",nr,sum);
	}
	fclose(f);
	fclose(g);
	return 0;
}