안녕하세요. 오늘은 피보나치수를 구할 거예요.
https://www.acmicpc.net/problem/9711
P의 범위가 작으므로 입력을 받을때마다 새로 만들어서 풀어주면 됩니다.
#include <iostream>
#include <algorithm>
#define ll long long
using namespace std;
ll fib(ll x, ll mod)
{
ll a = 1, b = 1, c;
while (--x)
{
c = (a + b) % mod;
a = b;
b = c;
}
return a;
}
int main(void)
{
ios_base::sync_with_stdio(false); cin.tie(NULL);
ll T, P, Q, tc = 0;
cin >> T;
while (T--)
{
cin >> P >> Q;
cout << "Case #" << ++tc << ": " << fib(P, Q) << "\n";
}
}
감사합니다.