您的位置:首页 > 其它

1005 -

2016-02-05 11:08 309 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/zouyufei1989/article/details/50637249

http://acm.hdu.edu.cn/showproblem.php?pid=1005


1。由题目的式子可知0<=f
<=6,

2。而每个f
又是由(f[n-1],f[n-2])这个组合通过计算得出来的,

由以上两点可以推出,(f[n-1],f[n-2])出现重复的组合的最大周期为7*7=49, 即f
的最大周期

[红色部分摘自网络]


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

}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: