记录编号 44162 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 数列求值 最终得分 100
用户昵称 Gravatar苏轼 是否通过 通过
代码语言 C++ 运行时间 0.007 s
提交时间 2012-10-17 07:54:28 内存使用 3.15 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
int a,b,n,q[2]={1,1};
int w[2][2]={{0,0},{1,1}};
int c[2][2]={{0,0},{1,1}};
int ans[2]={0};
int main()
{
	freopen ("sequenceb.in","r",stdin);
	freopen ("sequenceb.out","w",stdout);
	cin>>a>>b>>n;
	w[0][1]=b;
	w[1][1]=a;
	c[0][1]=b;
	c[1][1]=a;
	int num;
	num=n-3;
	while (num)
	{
		if ((num)%2==1)
		{
			int q[2][2]={0};
			for (int i=0;i<2;i++)
			{
				for (int j=0;j<2;j++)
				{
					for (int k=0;k<2;k++)
					{
						q[i][j]+=(c[i][k]*w[k][j])%7;
					}
				}
			}
			for (int i=0;i<2;i++)
			{
				for (int j=0;j<2;j++)
				{
					c[i][j]=q[i][j];
				}
			}
		}
		num=num>>1;
		int q[2][2]={0};
		for (int i=0;i<2;i++)
		{
			for (int j=0;j<2;j++)
			{
				for (int k=0;k<2;k++)
				{
					q[i][j]+=(w[i][k]*w[k][j])%7;
				}
			}
		}
		for (int i=0;i<2;i++)
		{
			for (int j=0;j<2;j++)
			{
				w[i][j]=q[i][j];
			}
		}
	}
	for (int i=0;i<2;i++)
	{
		for (int k=0;k<2;k++)
		{
			ans[i]+=(q[i]*c[k][i])%7;
		}
	}
	cout<<(ans[1])%7;
	return 0;
}