Pagini recente » Cod sursa (job #612841) | Cod sursa (job #693932) | Cod sursa (job #2886459) | Cod sursa (job #2409789) | Cod sursa (job #84347)
Cod sursa(job #84347)
#include<stdio.h>
struct pw{int x,p;};
int main()
{
struct pw div[1000000];
int A,B,d,i,prim,prim1,bun=1,nr=0;
long long n,n1,pu=1;
FILE *f=fopen("numere2.in","r");
fscanf(f,"%lli",&n);
n1=n;
if(n!=1)
{
for(i=0;i<1000000;i++)
div[i].p=0;
for(d=2;n>1;d++)
{
if(n%d==0)
{
div[nr].x=d;
while(n%d==0)
{
n/=d;
(div[nr].p)++;
}
nr++;
}
}
pu=div[0].x;
for(i=0;i<nr-1;i++)
{
if(div[i].p==div[i+1].p)
pu*=div[i+1].x;
else
{
bun=0;
break;
}
}
fclose(f);
f=fopen("numere2.out","w");
if(bun==0)
fprintf(f,"%lli\n%c",n1,'1');
else
fprintf(f,"%lli\n%i",pu,div[0].p);
fclose(f);
}
else {f=fopen("numere2.out","w");fprintf(f,"%c\n%c",'1','1');}
}