#include<iostream>
#define Max 1010
using namespace std;
int main()
{
int a, b, n;
while( scanf("%d%d%d", &a, &b, &n) != EOF && a || b || n )
{
int f[Max] = {0, 1, 1};
int i;
for( i = 3; i < Max; i++ )
{
f[i] = a * f[i-1] + b * f[i-2];
f[i] %= 7;
if( f[i-1] == 1 && f[i] == 1)
break;
}
if( n%(i-2) == 0)
printf( "%d\n", f[i-2] );
else
printf( "%d\n", f[n%(i-2)] );
}
return 0;
}hdu 1005 Number Sequence
最新推荐文章于 2024-07-18 12:00:00 发布
本文介绍了一段使用C++编程解决数列问题的代码,通过输入三个整数a、b和n,程序计算并输出数列的第n项。数列遵循特定的递推公式,每项值为前两项的线性组合,并且模7取余。程序利用循环结构和数组存储中间结果,确保高效计算。当输入满足条件时,程序输出数列的指定项,否则输出计算过程中的某一项。
775

被折叠的 条评论
为什么被折叠?



