Run ID 作者 问题 语言 测评结果 时间 内存 代码长度 提交时间
91881 sh25_shenpy 斐波那契_1 C++ 解答错误 0 MS 256 KB 795 2026-06-18 05:53:45

Tests(0/5):


#include <iostream> #include <algorithm> using namespace std; typedef unsigned long long ull; typedef __int128 i128; ull mul(ull a, ull b, ull mod) { return (i128)a * b % mod; } ull fib(ull n, ull mod) { if (mod == 1) return 0; ull a = 1, b = 1; for (ull i = 63; i--;) { ull c = mul(a, (2*b - a + mod) % mod, mod); ull d = (mul(a,a,mod) + mul(b,b,mod)) % mod; a = c, b = d; if (n >> i & 1) { ull t = b; b = (a + b) % mod; a = t; } } return a; } int main() { ull n, m, p; cin >> n >> m >> p; ull fm = fib(m, 1ULL << 63); ull fn2 = fib(n + 2, fm); ull ans = (fn2 - 1 + fm) % fm; ans %= p; cout << ans << endl; return 0; }


测评信息: