寻找100到200之间的素数

引言

素数是指只能被1和自身整除的正整数。寻找素数是一个经典的数学问题,在计算机科学中也十分常见。在本文中,我们将探讨如何使用Java编程语言来找到100到200之间的所有素数。

算法思路

要解决这个问题,我们可以使用试除法(Trial Division)来判断一个数是否为素数。试除法是最简单、最直接的一种方法,但对于大数来说效率较低。该方法的基本思路是,对于待判断的数n,从2开始,逐个试除到√n为止,如果n能被任何一个小于等于√n的数整除,则n不是素数;否则,n是素数。

代码示例

让我们来看一下如何在Java中实现这个算法。

public class PrimeNumberFinder {
    public static void main(String[] args) {
        int lowerBound = 100;
        int upperBound = 200;
        
        System.out.println("Prime numbers between " + lowerBound + " and " + upperBound + " are:");
        
        for (int i = lowerBound; i <= upperBound; i++) {
            if (isPrime(i)) {
                System.out.println(i);
            }
        }
    }
    
    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;
    }
}

在上述代码中,我们定义了一个PrimeNumberFinder类,并在main方法中找到了100到200之间的所有素数。isPrime方法用于判断一个数是否为素数。我们从2开始逐个试除到√n,如果找到一个能整除n的数,则n不是素数,返回false;否则,n是素数,返回true

流程图

下面是我们找到100到200之间素数的算法的流程图:

flowchart TD
    A(开始)
    B(设定下界和上界)
    C(初始化当前数为下界)
    D(判断当前数是否为素数)
    E(输出当前数)
    F(当前数加1)
    G(判断当前数是否超过上界)
    H(结束)
    
    A --> B
    B --> C
    C --> D
    D --> E
    E --> F
    F --> G
    G --> D
    D --> H
    G --> H

总结

通过本文,我们学习了如何使用Java编程语言来找到100到200之间的素数。我们使用了试除法来判断一个数是否为素数,并通过循环遍历100到200之间的所有数来找到所有素数。同时,我们还展示了使用Markdown语法标识代码和流程图的方法。希望这篇文章能够帮助你理解素数的概念和如何在计算机中找到素数。

参考资料

  • [素数 - 维基百科](
  • [试除法 - 维基百科](