Pagini recente » Cod sursa (job #2795997) | Cod sursa (job #3220126) | Cod sursa (job #2316763) | Cod sursa (job #289092) | Cod sursa (job #1911902)
#include <stdio.h>
#include <math.h>
int group(int x) {
int i = sqrt(x) - 1;
while (x > i * i) i++;
return i;
}
int main() {
freopen("progresie.in", "r", stdin);
freopen("progresie.out", "w", stdout);
int t;
scanf("%i", &t);
int n, r;
while (t--) {
scanf("%i%i", &n, &r);
int i;
for (i = 1; 1; ++i) {
int nr = i * i - i + 1;
int limit = i - 1;
int j;
for (j = 0; j < n - 1; ++j) {
nr += r;
int g = group(nr);
int first = g * g - g + 1;
int last = g * g;
if (limit < first - nr) {
break;
}
if (nr < first) nr = first;
if (limit > last - nr) limit = last - nr;
}
if (j == n - 1) {
printf("%i\n", nr - (n - 1) * r);
break;
}
}
}
return 0;
}