Cod sursa(job #2938)
Utilizator | Popovici Alexandru d_tritus | Data | 19 decembrie 2006 21:37:57 |
---|---|---|---|
Problema | Frac | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.42 kb |
#include <stdio.h>
FILE *fi;
FILE *fo;
long long n, p, i=0, k=0;
int prim (long long x, long long y) {
long long r;
r=x%y;
while (r) {
x=y;
y=r;
r=x%y;
}
if (y==1) return 1;
return 0;
}
int main (void) {
fi=fopen("frac.in", "rt");
fo=fopen("frac.out", "wt");
fscanf (fi, "%lld %lld", &n, &p);
while (k!=p) {
i++;
if (prim(i, n)==1) k++;
}
fprintf(fo, "%lld", i);
fcloseall();
return 0;
}