版权声明:MZ21G https://blog.csdn.net/qq_35793285/article/details/84788510
规律题
简单的使用long数据类型会在第87项溢出
通过对各项除3取余发现每8项是一个循环
so。。。。
import java.util.Scanner;
public class Main {
public static int fib(int n) {
n = n % 8;
if (n == 0) return 7;
if (n == 1) return 11;
else {
int[] lala = new int[n+1];
lala[0] = 7;
lala[1] = 11;
for (int i = 2; i <= n; i++) {
lala[i] = lala[i-1] + lala[i-2];
}
return lala[n];
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
int k = scanner.nextInt();
int result = fib(k) % 3;
if (result == 0)
System.out.println("yes");
else
System.out.println("no");
}
}
}