求1到100以内的素数(质数)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求1到100以内的素数(质数)相关的知识,希望对你有一定的参考价值。

  在我还没有学习JAVA之前我被一个还上初中的兄弟问到:一百以内有多少个质数,分别都是几呢,它们的和是多少?。虽然我们都知道质数的概念:质数又称素数,是指一个大于1的自然数中,除了1和其自身外,没法被其他自然数整除的数。我当时蒙圈了,都是哪些数字嘛我还能一一说出来,至于多少个嘛,数一数就好了。可是求和就浪费时间了。 后来身为小白的我刚接触JAVA这个行业,我也遇到求素数的题目。发现我在网上搜索答案的时候发现一些代码没有优化就提交了。我学习JAVA也有一个来月了,回头再看看我写的代码感觉效率好慢也是没有优化。在当时学习到的一些小知识点竟然没有运用。现在我也想分享一下我简单优化后的代码,后期还能优化就更好了:

public static void main(String[] args) {

   int count = 0;
   int sum = 0;
  for (int i = 2; i <= 100; i++) {
    boolean flag = false;
    for (int j = 2; j <= i >> 1; j++) {
     if (i % j == 0) {
        flag = true;
        break;
      }
  }
  if (!flag) {
    System.out.print(i + " ");
    sum += i;
    count++;
    }
  }
  System.out.println();
  System.out.println("1--100之间的素数(也称质数)的个数 -->"+count);
  System.out.println("1--100之间的素数(也称质数)的个数之和 -->"+sum);
}

  

以上是关于求1到100以内的素数(质数)的主要内容,如果未能解决你的问题,请参考以下文章

求50到100以内的质数

c语言使用循环找出100之内的所有质数

求100以内素数的5中基本方法及其优化

求1到100以内所有素数之和(c语言)

输出50到100所有质数的c语言编程

1到100的质数表