Pat乙级练习2NowCoder数列

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

/***************************************************************************************/

(1)这道题不能直接递归,会超时

(2)当n除4取余为2时就是Yes

/**************************************************************************/

package niuke_Pat_b_test;
import java.util.Scanner;
public class B_2 {
	/*public static long[] nowcoder = new long[1000001];
	static {
		nowcoder[0]=7;
		nowcoder[1]=11;
		for(int i=2;i<nowcoder.length;i++) {
			nowcoder[i]=nowcoder[i-1]+nowcoder[i-2];
		}
	}*/
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		while(scan.hasNext()) {
			int n = scan.nextInt();
			if(n%4==2) {
				System.out.println("Yes");
			}else {
				System.out.println("No");
			}
			
	}
	}
}
	/*public static  boolean judge(long f) {
		if(f%3==0) {
			return true;
		}
		else {
			return false;
		}
	}*/

猜你喜欢

转载自blog.csdn.net/so1125so/article/details/88318024