题解 | #判断素数个数#

判断素数个数

https://www.nowcoder.com/practice/c6ad83181a17408eb7605d51a251dd9a

import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    int start = scanner.nextInt();
    int end = scanner.nextInt();
    method(start, end);
  }

  public static void method(int start, int end) {
    int count = 0;

    // 交换大小
    if (start > end) end = start + end - (start = end);
    // 控制起始数为3或更大的数
    int startActual = start > 2 ? start : 3;

    for (int i = startActual; i <= end; i++) {
      boolean flag = true;

      for (int j = 2; j <= Math.sqrt(i); j++) {
        if (i % j == 0) {
          flag = false;
          break;
        }
      }

      if (flag) count++;
    }


    System.out.println(start + "到" + end + "之间有" + count +
                       "个大于2的素数");
  }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务