http://acm.hdu.edu.cn/showproblem.php?pid=1005
1。由题目的式子可知0<=f[n]<=6,
2。而每个f[n]又是由(f[n-1],f[n-2])这个组合通过计算得出来的,
由以上两点可以推出,(f[n-1],f[n-2])出现重复的组合的最大周期为7*7=49, 即f[n]的最大周期
[红色部分摘自网络]
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while (true) {
int a = input.nextInt();
int b = input.nextInt();
int n = input.nextInt();
if (a == 0 && b == 0 && n == 0) {
return;
}
System.out.println(cal(a, b, n % 49));
}
}
static int cal(int a, int b, int n) {
if (n==1||n==2) {
return 1;
} else {
int res = (cal(a, b, n - 1) * a + cal(a, b, n - 2) * b) % 7;
return res;
}
}
}