题目描述
一个数列被定义为: f(1) = 1, f(2) = 1, f(n) = (49 * f(n - 1) + 27 * f(n - 2)) mod 11. 给出n, 请计算f(n). 其中mod表示求余数。
输入
输入多组数据,为n的值(1<=n<=1,000,000,000)。
输出
输出f(n)的值。
样例输入
3 5 9
样例输出
10 6 1
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int n,i;
while(cin>>n)
{
vector<int> v1(10000000);
v1[1]=1;
v1[2]=1;
if(n==1||n==2)
cout<<1<<endl;
else
{
for(i=3;i<=n;i++)
v1[i]=((49*v1[i-1]+27*v1[i-2])%11);
cout<<v1[n]<<endl;
}
}
}
#include<stdio.h>
int main()
{
int n,a[1000]={0,1,1},s,i;
scanf("%d",&n);
for(i=3;i<=n;i++)
{
a[i]=((49*a[i-1]+27*a[i-2])%11);
printf("%d\n",a[i]);
}
}