Cod sursa(job #313412)
Utilizator | Data | 8 mai 2009 22:47:27 | |
---|---|---|---|
Problema | Frac | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <stdio.h>
int main()
{
long n,p,i=1,v[10000],j=0,v2[10000],k;
freopen("frac.in","r",stdin);
freopen("frac.out","w",stdout);
scanf("%ld%ld",&n,&p);
do
{
++i;
while (n%i==0)
{
++j;
v[j]=i;
v2[j]=i;
n=n/i;
}
}
while (n!=1);
i=1;
do
{
++i;
if (i%v[1]==0)
{
v[1]=v[1]*v2[1];
j=2;
while (v[j]<v[j-1])
{
k=v[j];
v[j]=v[j-1];
v[j-1]=k;
k=v2[j];
v2[j]=v2[j-1];
v2[j-1]=k;
++j;
}
}
else ++j;
}
while (j!=p);
printf("%ld",i);
return 0;
}