Pagini recente » Cod sursa (job #2880519) | Cod sursa (job #2800583) | Cod sursa (job #1500360) | Cod sursa (job #2801171) | Cod sursa (job #1057045)
#include <stdio.h>
#include <string.h>
#include <math.h>
int main() {
FILE *f, *g;
int ok;
long i, j, t, n, r;
long start, hm, skip, result, current, nr;
char sir[10];
f = fopen("progresie.in", "r");
g = fopen("progresie.out", "w");
fscanf(f,"%li",&t);
for (i = 0; i < t; i++) {
fscanf(f, "%li %li", &n, &r);
start = 1;
hm = 1;
skip = 2;
while (1) {
ok = 1;
for (j = 0; j < n; j++) {
current = start + j * r;
nr = (int)(sqrt(current) + 0.5);
result = nr * nr;
if (((result - nr) >= current) || (current > result && current < (result + nr + 1))) {
ok = 0;
break;
}
}
if (ok == 0) {
if (start == hm) {
start += (hm + 1);
skip += 2;
hm++;
} else {
start++;
}
} else {
fprintf(g, "%li\n", start);
break;
}
}
}
fclose(f);
fclose(g);
return 0;
}