这道题可以呀,一开始按照常规解法虽然答案正确但是还是报错了 无奈之下 看答案了
题解:
如果直接暴力求解,由于n可以达到1,000,000的规模,必定会超时或栈溢出。因此采用找规律的方法。
n 0 1 2 3 4 5 6 7 8 9 10 11 12 13
F(n)mod3 1 2 0 2 2 1 0 1 1 2 0 2 2 1
从n=2开始每隔4个出现一次符合条件的,即将所有的n分为8个一组,每组的第3个(n%8==2)和第7个(n%8==6)符合条件。
import java.util.Scanner;
public class Main {
public static void main(String[]args) {
Scanner sc = new Scanner (System.in);
while(sc.hasNext()) {
int i = sc.nextInt();
if(i%8==2||i%8 == 6)
System.out.println("yes");
else
System.out.println("no");
}
}
}
下面是有关斐波拉契数的知识
循环问题
其他问题
http://webspace.ship.edu/msrenault/fibonacci/fib.htm
其他有关问题 最好看英语版本的 国外牛人介绍斐波拉契