首页 > 代码库 > hdu1005 Number Sequence

hdu1005 Number Sequence

f(n-1)和f(n-2)所有组合情况有49种,即周期最大为49,但是f(n-1)=f(n-2)=0的情况下,整个数列都为0,而题目条件f(1)=f(2)=1,所以排除这种情况,最大周期为48;

#include<math.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
    int a,b,n;
    int f[99];
    while(scanf("%d%d%d",&a,&b,&n),(a||b||n))
    {
        f[1]=f[2]=1;
        for(int i=3;i<99; i++)
        {
            f[i]=(a*f[i-1]+b*f[i-2])%7;
        }
        printf("%d\n",f[n%48+48]);
    }
    return 0;
}


hdu1005 Number Sequence