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

posted @ 2025-10-11 00:07  TPPPP72  阅读(6)  评论(0)    收藏  举报