Cod sursa(job #21160)
Utilizator | Florian Marcu Florian | Data | 22 februarie 2007 22:33:03 |
---|---|---|---|
Problema | Numere 2 | Scor | 45 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.36 kb |
#include<stdio.h>
int main()
{long n,i,k,a,b,p,j,ok=1;
FILE *f=fopen("numere2.in","r");
FILE *g=fopen("numere2.out","w");
fscanf(f,"%ld",&p);
for (i=2;i<=p/2;i++&&ok==1)
if (p%i==0&&ok==1)
{a=i; b=1;
while (a<=p)
{b++; a=a*i;}
if (a/i==p) {ok=0; fprintf(g,"%ld\n%ld",i,b-1);}}
if (ok==1) fprintf(g,"%ld\n1",p);
fclose(f);
fclose(g);
return 0;}