首页 > 其他分享 >HDOJ1021 Fibonacci Again

HDOJ1021 Fibonacci Again

时间:2023-02-20 11:00:53浏览次数:63  
标签:count Again false scanner no Fibonacci boo yes HDOJ1021


题目链接:​​http://acm.hdu.edu.cn/showproblem.php?pid=1021​


这个题最坑的莫过于范围了,开始用long,测试了下,发现很快就超范围了。

然后想着使用大数,考虑到时间的限制,再次测试了结果,发现有规律。

规律自己看:

no
no
yes
no
no
no
yes
no
no
no
yes
no
no
no
yes

怎么样,够明显的了。然后就可以使用打表的方式来做,打表打的是boolean。

使用count 来计算第几个。

下面AC代码:


import java.util.Scanner;

public class Main{
private static Scanner scanner;
private static boolean boo[];

public static void main(String[] args) {
scanner = new Scanner(System.in);
dabiao();
while (scanner.hasNext()) {
int n = scanner.nextInt();
if (boo[n]) {
System.out.println("yes");
} else {
System.out.println("no");
}
}
}

public static void dabiao() {
boo = new boolean[1000000];
boo[0] = false;
boo[1] = false;
int count = 0;
for (int i = 2; i < boo.length; i++) {
if (count == 0) {
boo[i] = true;
} else {//else可以省略,默认是false
boo[i] = false;
}
count++;
if (count == 4) {
count = 0;
}
}
}
}



标签:count,Again,false,scanner,no,Fibonacci,boo,yes,HDOJ1021
From: https://blog.51cto.com/u_15741949/6067980

相关文章