每日一练PAT_B_PRAC_1002

NowCoder最近在研究一个数列:
* F(0) = 7
* F(1) = 11
* F(n) = F(n-1) + F(n-2) (n≥2)
他称之为NowCoder数列。请你帮忙确认一下数列中第n个数是否是3的倍数。

输入描述:

输入包含多组数据。
每组数据包含一个整数n,(0≤n≤1000000)。

输出描述:

对应每一组输入有一行输出。
如果F(n)是3的倍数,则输出“Yes”;否则输出“No”。

输入例子:

0
1
2
3
4
5

输出例子:

No
No
Yes
No
No
No

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
       int[] arr = new int[1000000];
       arr[0] = 7;
       arr[1] = 11;
       for (int i = 2 ; i < arr.length ; i++){
           arr[i] = arr[i - 1]%3 + arr[i-2]%3;
       }
       Scanner s = new Scanner(System.in);
        while (s.hasNext()){
            int n = s.nextInt();
            if (arr[n] % 3 == 0) {
                System.out.println("Yes");
            }
            else {
                System.out.println("No");
            }
        }
    }
}
原文地址:https://www.cnblogs.com/xiaolan-/p/11803819.html