质数数目(蓝桥杯练习题)

题目描述

实现一个算法求质数数目。介绍如下:

  • 质数是指在大于 1 的自然数中,除了 1 和它本身以外不再有其他因数的自然数。
  • 给定数字 nn,对于从 0 至 nn 的数字,需要判断这个数字是不是质数。然后输出质数总数。

输入描述

输入一个数字 n (1≤N≤105)n (1≤N≤105),含义见题干。

输出描述

输出一行,为 0 至 nn 之间质数的个数。

输入输出样例

示例

输入

复制代码
5

输出

复制代码
3

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 256M

题解:

java 复制代码
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        int n = scan.nextInt();
        int sum = 0;

        for (int i = 2; i <= n; i++) {
            boolean isPrime = true;
            for (int j = 2; j < i; j++) {
                if (i % j == 0) {
                    isPrime = false;
                    break;
                }
            }

            if (isPrime) {
                sum += 1;
            }
        }

        System.out.print(sum);

        scan.close();
    }
}

解题要点:

从 2 遍历到 n,逐个数字判断是不是质数

缺点:

双重循环会比较慢,不适合大数据。

相关推荐
泡泡糖的中文规格书1 小时前
HDLbits 2.2 学习笔记 · 多路复用器
java·开发语言
艾iYYY1 小时前
进程的状态
算法
John_Hui1 小时前
第 3 篇:配置 JDK 17 环境
java·开发语言·ubuntu
秋天的怀念_David1 小时前
算法一千零一夜 · 第十七夜 长街点灯
java·程序人生·算法
CV爱数码1 小时前
论文精读|RED-CNN:残差编解码网络,低剂量 CT 去噪的经典基线
网络·人工智能·算法·cnn·ct·重建·x-ray
不吃鱼的羊1 小时前
如何应对恐惧
java
不吃鱼的羊2 小时前
如何建立高自尊
java·服务器·前端
Magicdata大数据2 小时前
AI辅助教学:调用大模型从教材中生成习题,方便学员练习
java·spring boot·大模型·知识图谱·neo4j·ai辅助教学
香蕉大香蕉(06敬畏市场)2 小时前
高频八股 · Java 并发编程(10):异步、ThreadLocal 与虚拟线程(收官)
java·开发语言·网络·jvm·python·ai·实习