【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 }