轮到谁了? mod

在这里插入图片描述
思路:这就是一个斐波那契数列,只不过每次循环求f[i]的时候都要求余m。f[i]就是第i个月兔子的数量。而这个月最后一队兔子的编号就是(f[n]+m-1)%m。

#include <bits/stdc++.h>

using namespace std;
int f[1005];

int main()
{
    
    
    int t; cin>>t;
    while(t--){
    
    
        int n,m; cin>>n>>m;
        f[1] = 1;f[2] = 1;
        for(int i=3;i<=n;i++){
    
    
            f[i] = (f[i-1]+f[i-2])%m;
        }
        cout<<(f[n]+m-1)%m<<endl;
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_43811879/article/details/109629488
mod