7-91 2001 斐波那契数列
#include <algorithm>
#include <cmath>
#include <cstdint>
#include <iomanip>
#include <iostream>
#include <limits>
#include <numeric>
#include <string>
#include <unordered_map>
#include <utility>
#include <vector>
using i32 = std::int32_t;
using i64 = std::int64_t;
using u32 = std::uint32_t;
using u64 = std::uint64_t;
using pii = std::pair<i32, i32>;
using pll = std::pair<i64, i64>;
using vi = std::vector<i32>;
using vll = std::vector<i64>;
using vpii = std::vector<pii>;
using vpll = std::vector<pll>;
void solve(bool line);
vll fib(37);
int main()
{
std::cin.tie(nullptr)->sync_with_stdio(false);
fib[0] = 0;
fib[1] = 1;
for (i32 i = 2; i <= 36; ++i)
{
fib[i] = fib[i - 1] + fib[i - 2];
}
bool line = false;
i32 t;
std::cin >> t;
while (--t >= 0)
{
solve(line);
line = true;
}
}
void solve(bool line)
{
if (line)
{
std::cout << '\n';
}
i32 n, a;
std::cin >> n >> a;
if (n >= 36)
{
std::cout << "YES";
return;
}
if (a <= fib[n])
{
std::cout << "YES";
}
else
{
std::cout << "NO";
}
}
\(36\) 那个数字是提前写程序算出来的,只要 \(n \geq 36\) ,在数据范围保证下,一定输出 Yes。

浙公网安备 33010602011771号