【HDOJ】1005 Number Sequence

这又是一道最小正周期的题目,f(n-1)与f(n-2)都可能有7种情况,因此至多有49种情况,根据鸽巢原理,若出现50种情况则必定与前49种的一种相同,因此,我们认为最小正周期为49。当然,也有可能小于49。

 1 #include <stdio.h>
 2 
 3 int f(int a, int b, int n) {
 4     if (n==1 || n==2)
 5         return 1;
 6     else
 7         return (a*f(a,b,n-1) + b*f(a,b,n-2)) % 7;
 8 }
 9 
10 int main() {
11     int a, b, n;
12 
13     while (scanf("%d%d%d", &a, &b, &n)!=EOF && (a||b||n)) {
14         printf("%d\n", f(a, b, n%49));
15     }
16 
17     return 0;
18 }

 

posted on 2014-04-02 17:40  Bombe  阅读(138)  评论(0编辑  收藏  举报

导航