Cod sursa(job #448422)

Utilizator ursu-valiJerdea Florin ursu-vali Data 3 mai 2010 18:50:24
Problema Numere 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<stdio.h>
#include<string.h>
#include<math.h>
unsigned long long x,y;
long n;
void read()
{
	char a[110];
	long i;
	fgets(a,110,stdin);
	n=strlen(a);
	for(i=0;i<n;i++)
		x=x*10+a[i]-'0';
}
void solve()
{
	long i,nr,k,ok;
	k=1;
	ok=0;
	for(i=2;i<=sqrt(x);i=i+k)
	{
		if(i%2==1)
			k=2;
		nr=0;
		y=x;
		while(y%i==0)
		{
			nr++;
			y=y/i;
		}
		if(y==1)
		{
			ok=1;
			printf("%ld\n%ld",i,nr);
			break;
		}
	}
	if(ok==0)
		printf("%ld\n1",x);
}
int main()
{
	freopen("numere2.in","r",stdin);
	freopen("numere2.out","w",stdout);
	read();
	solve();
	fclose(stdin);
	fclose(stdout);
	return 0;
}