Cod sursa(job #291233)
Utilizator | Data | 29 martie 2009 16:10:41 | |
---|---|---|---|
Problema | Numere 2 | Scor | 35 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#define max 2000000
#include<stdio.h>
long long n[max];
int main()
{long long d,aux,p,i,max1=0;
freopen("numere2.in","r",stdin);
freopen("numere2.out","w",stdout);
for(i=1;i<=max;i++)
n[i]=0;
scanf("%lld",&p);
if(p==0) {printf("0\n1");return 0;}
if(p==1) {printf("1\n1");return 0;}
aux=p;d=2;
while(aux!=1)
{while(aux%d==0)
{aux/=d;n[d]++;}
d++;if(max1<d) max1=d;
}
for(i=1;i<=max1;i++)
if(n[i]!=0)printf("%lld\n%lld ",i,n[i]);
return 0;
}