1005 Number Sequence

来源:互联网 发布:软件检测报告模板 编辑:程序博客网 时间:2024/05/16 06:32
/*是一个循环问题,因为存在对7取余的过程,所以f(n)的取值范围是0~6,由于取决于A/B两个数字 则为7*7=49种可能,所以可以建立一个50以内的数据库,来包含之后所有的取值范围 */ #include <stdio.h>int main(){    int A,B;    long int n;    int a[100];    while(scanf("%d %d %d",&A,&B,&n)!=EOF)    {        if(A+B+n==0) break;        a[1]=1;        a[2]=1;        for(int i=3;i<=50;i++)        {            a[i]=(a[i-1]*A+a[i-2]*B)%7;        }        a[0]=a[48];          //若n恰好为48的倍数。则变成未定义的a【0】         n=n%48;        printf("%d\n",a[n]);    }    return 0;} 
0 0
原创粉丝点击