rt.
这种弱智题评蓝?我都切了不绿,切了蓝,就是一个等差数列啊。
代码实现也很简单吧。
#include <bits/stdc++.h>
#define getchar()(p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1 , 1 << 21, stdin), p1 == p2) ? EOF : *p1++)
char buf[1 << 21], *p1 = buf, *p2 = buf;
using namespace std;
inline
int read() {
int x = 0, f = 1;
char ch = getchar();
while (ch < '0' || ch > '9') {
if (ch == '-') f = -1;
ch = getchar();
}
while (ch >= '0' && ch <= '9') {
x = (x << 1) + (x << 3) + (ch ^ '0');
ch = getchar();
}
return x * f;
}
int t, n, cnt;
int main() {
t = read();
while (t--) {
n = read();
cnt = 0;
if (n == 1) {
puts("3 4");
continue;
}
for (int i = 3; i <= n; i++) {
int tmp = 1, q = i - 1;
while (tmp < n) {
tmp += q;
q += (i - 2);
}
if (tmp == n) {
printf ("%d ", i);
cnt++;
}
if (cnt == 2) break;
}
if (!cnt) {
printf ("Poor%d\n", n);
continue;
}
puts("");
}
return 0;
}