1126 求遞推序列的第n項
基準時間限制:1 秒 空間限制:131072 kb 分值: 10
難度:2級演算法題
有乙個序列是這樣定義的:f(1) = 1, f(2) = 1, f(n) = (a * f(n - 1) + b * f(n - 2)) mod 7.
給出a,b和n,求f(n)的值。
input
輸入3個數:a,b,n。數字之間用空格分割。(-10000 <= a, b <= 10000, 1 <= n <= 10^9)output
輸出f(n)的值。input示例
3 -1 5output示例
6
解題思路:根據題目給出的n很大,所以可以知道f(n)會出現迴圈,即只要找出第一次出現迴圈的首尾就可以了。。。
注意:f[i]=((a*f[i-1]+b*f[i-2])%7 + 7)%7;此處不能寫成f[i]=(a*f[i-1]+b*f[i-2])%7 ;
**如下:
#include #include #include #include using namespace std;
const int maxn = 1e5+10;
int f[maxn];
int main()
{ int a,b,n,flag=0,x,y;
scanf("%d %d %d",&a,&b,&n);
f[1]=f[2]=1;
for(int i=3;i<=n;i++)
{f[i]=((a*f[i-1]+b*f[i-2])%7 + 7)%7;
for(int j=2;j
51Nod 1126 求遞推序列的第N項
include include define maxn 3 define mod 7 using namespace std typedef long long ll int n ll b n 0,c maxn h maxn struct matrix matrix multi matrix a,m...
51Nod 1126 求遞推序列的第N項
題目 有乙個序列是這樣定義的 f 1 1,f 2 1,f n a f n 1 b f n 2 mod 7。給出a,b和n,求f n 的值。輸入 輸入3個數 a,b,n。數字之間用空格分割。10000 a,b 10000,1 n 10 9 輸出 輸出f n 的值。樣例輸入 3 1 5樣例輸出 6分析 ...
51nod 1126 求遞推序列的第N項
1126 求遞推序列的第n項 基準時間限制 1 秒 空間限制 131072 kb 分值 10 難度 2級演算法題 收藏關注有乙個序列是這樣定義的 f 1 1,f 2 1,f n a f n 1 b f n 2 mod 7.給出a,b和n,求f n 的值。input 輸入3個數 a,b,n。數字之間用...