当前位置: 首页 > article >正文

第n小的质数

第n小的质数

      • C语言代码
      • C++ 语言代码
      • Java语言代码
      • Python语言代码


💐The Begin💐点点关注,收藏不迷路💐

输入一个正整数n,求第n小的质数。

输入

一个不超过10000的正整数n。

输出

第n小的质数。

样例输入

10

样例输出

29

C语言代码

#include <stdio.h>
#include <stdbool.h>  // 引入布尔类型相关头文件,用于判断是否为质数

// 判断一个数是否为质数的函数
bool is_prime(int num) {
    if (num < 2) {  // 小于2的数不是质数
        return false;
    }
    for (int i = 2; i * i <= num; i++) {  // 从2到该数的平方根遍历
        if (num % i == 0) {  // 如果能被整除,就不是质数
            return false;
        }
    }
    return true;
}

int main() {
    int n;
    scanf("%d", &n);  // 读取输入的正整数n,表示要找第n小的质数
    int count = 0;  // 用于记录找到的质数个数
    int num = 2;  // 从2开始找质数
    while (count < n) {  // 只要找到的质数个数小于n,就继续找
        if (is_prime(num)) {  // 如果当前数是质数
            count++;  // 质数个数加1
        }
        num++;  // 尝试下一个数
    }
    printf("%d\n", num - 1);  // 输出第n小的质数,因为最后num多加了1次,所以减1输出
    return 0;
}

C++ 语言代码

#include <iostream>
#include <cmath>  // 引入数学库头文件,用于求平方根等操作
using namespace std;

// 判断一个数是否为质数的函数
bool is_prime(int num) {
    if (num < 2) {  // 小于2的数不是质数
        return false;
    }
    for (int i = 2; i <= sqrt(num); i++) {  // 从2到该数的平方根遍历
        if (num % i == 0) {  // 如果能被整除,就不是质数
            return false;
        }
    }
    return true;
}

int main() {
    int n;
    cin >> n;  // 输入正整数n
    int count = 0;  // 记录找到的质数个数
    int num = 2;  // 从2开始查找质数
    while (count < n) {  // 只要没找到第n个质数,就继续循环
        if (is_prime(num)) {  // 如果当前数是质数
            count++;  // 质数个数加1
        }
        num++;  // 尝试下一个数
    }
    cout << num - 1 << endl;  // 输出第n小的质数,因为最后num多加了1次,所以减1输出
    return 0;
}

Java语言代码

import java.util.Scanner;

public class PrimeNumber {
    // 判断一个数是否为质数的方法
    public static boolean isPrime(int num) {
        if (num < 2) {  // 小于2的数不是质数
            return false;
        }
        for (int i = 2; i * i <= num; i++) {  // 从2到该数的平方根遍历
            if (num % i == 0) {  // 如果能被整除,就不是质数
                return false;
            }
        }
        return true;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();  // 获取输入的正整数n
        int count = 0;  // 用于记录找到的质数个数
        int num = 2;  // 从2开始找质数
        while (count < n) {  // 只要找到的质数个数小于n,就继续找
            if (isPrime(num)) {  // 如果当前数是质数
                count++;  // 质数个数加1
            }
            num++;  // 尝试下一个数
        }
        System.out.println(num - 1);  // 输出第n小的质数,因为最后num多加了1次,所以减1输出
    }
}

Python语言代码

n = int(input())  # 获取输入的正整数n,表示要找第n小的质数
count = 0  # 记录找到的质数个数
num = 2  # 从2开始找质数
while count < n:  # 只要没找到第n个质数,就继续循环
    is_prime = True  # 先假设当前数是质数
    for i in range(2, int(num ** 0.5) + 1):  # 从2到该数的平方根遍历
        if num % i == 0:  # 如果能被整除,就不是质数
            is_prime = False  # 修改为不是质数的标记
            break  # 一旦确定不是质数,就不用继续判断了
    if is_prime:  # 如果是质数
        count += 1  # 质数个数加1
    num += 1  # 尝试下一个数
print(num - 1)  # 输出第n小的质数,因为最后num多加了1次,所以减1输出

在这里插入图片描述


💐The End💐点点关注,收藏不迷路💐

http://www.kler.cn/a/419151.html

相关文章:

  • 会议直击|美格智能亮相2024紫光展锐全球合作伙伴大会,融合5G+AI共拓全球市场
  • windows docker 入门
  • 开源 - Ideal库 - Excel帮助类,TableHelper实现(三)
  • 本地部署 WireGuard 无需公网 IP 实现异地组网
  • 使用YOLO系列txt目标检测标签的滑窗切割:批量处理图像和标签的实用工具
  • 【绘图】数据可视化(python)
  • 【韩顺平老师Java反射笔记】
  • SpringBoot 助力新冠密接者跟踪:大数据整合与深度挖掘的力量
  • 极致性能:19个Vue 项目的优化手段
  • C++关于二叉树的具体实现
  • (4)CHATGPT-3和GPT-4是生成式AI的一部分吗?
  • 【二分查找】力扣 2529. 正整数和负整数的最大计数
  • HTML CSS JS基础考试题与答案
  • springboot kafka在kafka server AUTH变动后consumer自动销毁
  • linux系统信号简介
  • Scala—列表(可变ListBuffer、不可变List)用法详解
  • FAT文件系统
  • 【ETCD】etcd简单入门之基础操作基于etcdctl进行操作
  • arkTS:持久化储存UI状态的基本用法(PersistentStorage)
  • 基于Java Springboot宠物医院微信小程序
  • UI设计-色彩、层级、字体、边距(二)
  • 民锋视角:数据分析如何助力金融决策
  • 【docker集群应用】Docker--harbor私有仓库部署与管理
  • C语言——管理系统
  • glog在vs2022 hello world中使用
  • MySQL Inception工具