java 在1-1000内找到满足如下两个条件的数字条件1:在斐波那契序列中出现1235813……条件2:是质数只能被1和他本身整除的数字被称为质数
可以先生成1-1000内的斐波那契数列,然后再判断每个数是否为质数。具体实现如下:
public class FibonacciPrime {
public static void main(String[] args) {
// 生成斐波那契数列
List<Integer> fibonacci = new ArrayList<>();
fibonacci.add(1);
fibonacci.add(2);
int i = 2;
while (true) {
int next = fibonacci.get(i - 1) + fibonacci.get(i - 2);
if (next > 1000) {
break;
}
fibonacci.add(next);
i++;
}
// 判断每个数是否为质数并输出结果
for (int num : fibonacci) {
if (isPrime(num)) {
System.out.println(num);
}
}
}
// 判断一个数是否为质数
private static boolean isPrime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
}
输出结果为:
2
3
5
13
89
233
``
原文地址: https://www.cveoy.top/t/topic/cRJS 著作权归作者所有。请勿转载和采集!