Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。
当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。
在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。
import java.util.Scanner;
public class Main{
public static void main (String []args) {
Scanner scanner=new Scanner(System.in);
int a=scanner.nextInt();
if (a<=2) {
System.out.println(1);
}else {
int [] arr=new int[a+1];
arr[1]=arr[2]=1;
for(int i=3;i<arr.length;i++){
arr[i]=(arr[i-1]+arr[i-2])%10007;
}
System.out.println(arr[a]);}
}
}
输入A、B,输出A+B。输入的第一行包括两个整数,由空格分隔,分别表示A、B。输出一行,包括一个整数,表示A+B的值。
import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String []args) {
Scanner sc= new Scanner(System.in);
int age1,age2,num;
String str=sc.nextLine();
List<Integer> record = new ArrayList<Integer>();
for (int i=0;i<str.length();i++) {
if (str.charAt(i)==' ') {
record.add(i);
}
}
for (int i:record) {
String sy1=str.substring(0,i);
String sy2=str.substring(i+1,str.length());
age1=Integer.parseInt(sy1);
age2=Integer.parseInt(sy2);
num=age1+age2;
System.out.println(num);
break;
}
}
}