Cod sursa(job #463507)

Utilizator DEYDEY2Tudorica Andrei DEYDEY2 Data 16 iunie 2010 10:23:59
Problema Suma si numarul divizorilor Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<fstream>
using namespace std;
int x[1000001],k=0;
int ciur()
{
	int i,fol[1000001]={0},j;
	for(i=1;i<=1000000;i++)
		if(!fol[i])
		{
			x[++k];
			for(j=i+i;j<=1000000;j+=i) x[j]=1;
		}
}
int main()
{
	ifstream f("ssnd.in");
	ofstream g("ssnd.out");
	int n,c,i,d[1000],j,nr=0,l;
	ciur();
	while(f>>n)
	{
		int p[1000001]={0};
		c=n;
		l=0;
		nr=1;
		while(c)
		{
			for(i=1; c!=0 ;i++,l++)
			while(c%x[i]==0)
			{
				c=c/x[i];
				p[l]++;
			}
		}
		for(i=1;i<=l;i++) nr=nr*(p[i]+1);
		g<< nr<<' ';
	}	
	f.close();
	g.close();
	return 0;
}