Cod sursa(job #544821)

Utilizator Ionutz_LalaLala Marius Ionut Ionutz_Lala Data 2 martie 2011 10:50:33
Problema Suma si numarul divizorilor Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>
using namespace std;

ifstream in("ssnd.in");
ofstream out("ssnd.out");

int n,t,i,j,nd,sd,p,q;

int main()
{
	for(in>>t;t>0;t--)
	{
		sd=nd=1;
		in>>n;
		if(n%2==0)
		{
			p=0;
			q=1;
			while(n%2==0)
				p++,n/=2,q*=2;
			nd*=(p+1);
			sd*=(q*2-1);
		}
		for(i=3;i<=n;i+=2)
			if(n%i==0)
			{
				p=0;
				q=1;
				while(n%i==0)
					p++,n/=i,q*=i;
				nd*=(p+1);
				sd*=(q*i-1)/(i-1);
			}
		out<<nd<<' '<<sd<<'\n';
	}
    return 0;
}