package org.bwgl.Fibonacci;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
long n = sc.nextLong();
long m = sc.nextLong();
long p = sc.nextLong();
long num1 = test1(n);//递归求和
long num2 = test2(m);//求前m项
long x = (num1%num2)%p;
System.out.println(x);
}
}
public static long test1(long n) {//前n项和
if(n==1)
return 1;
else if(n==2)
return 2;
else if(n>2)
return test1(n-1)+test2(n);
return 0;
}
public static long test2(long n) {//求前m项
if(n==1||n==2) {
return 1;
}else {
return test2(n-1)+test2(n-2);
}
}
}

请求大佬支援!!!报错java.lang.StackOverflowError
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- D狂风R 2019-11-24 23:08关注
test2中你输入0的话会无限递归下去的造成栈溢出
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报