#include <cstdio>
int fib[105] = {0, 1}, cnt = 1;
int main() {
int t;
scanf("%d", &t);
while (fib[cnt] <= 1e9) ++ cnt, fib[cnt] = fib[cnt - 1] + fib[cnt - 2];
while (t --) {
int a, flag(1);
scanf("%d", &a);
for (int i(0); i <= cnt; ++ i)
for (int j(i); j <= cnt; ++ j)
if (fib[i] * fib[j] == a) {puts("Yes"), flag = 0; break;}
if (flag) puts("No");
}
}
不管这段代码写的是啥输入1,5都不应该输出两个yes
吧?
真是个玄学的世界呢。