Cod sursa(job #21165)
Utilizator | Florian Marcu Florian | Data | 22 februarie 2007 22:36:15 |
---|---|---|---|
Problema | Numere 2 | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.37 kb |
#include<stdio.h>
int main()
{long long unsigned i,a,b,p;
int ok=1;
FILE *f=fopen("numere2.in","r");
FILE *g=fopen("numere2.out","w");
fscanf(f,"%llu",&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,"%llu\n%llu",i,b-1);}}
if (ok==1) fprintf(g,"%llu\n1",p);
fclose(f);
fclose(g);
return 0;}