Java 寻找1-1000内满足斐波那契数列和质数条件的数字

本文将使用 Java 代码实现寻找 1-1000 内同时满足斐波那契数列和质数条件的数字。

条件:

  • 条件1: 在斐波那契序列中出现 (1, 2, 3, 5, 8, 13……)
  • 条件2: 是质数 (只能被 1 和它本身整除的数字被称为质数)

实现思路:

  1. 生成 1-1000 内的斐波那契数列
  2. 判断每个斐波那契数是否为质数
  3. 输出满足条件的数字

代码实现:

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

代码解析:

  1. 代码首先生成一个包含 1-1000 内斐波那契数的列表 fibonacci
  2. 使用循环遍历 fibonacci 列表,并调用 isPrime 方法判断每个数字是否为质数。
  3. isPrime 方法用于判断一个数是否为质数。它首先判断输入数字是否小于等于 1,如果小于等于 1 则不是质数。然后循环遍历从 2 到该数字的平方根,如果该数字可以被任何数整除,则它不是质数。
  4. 如果数字满足质数条件,则输出该数字。

通过以上代码,我们可以轻松地找到 1-1000 内满足斐波那契数列和质数条件的数字。

Java 寻找1-1000内满足斐波那契数列和质数条件的数字

原文地址: https://www.cveoy.top/t/topic/kgly 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录