2025-03-04 学习记录--C/C++-C语言 判断是否是素数

devtools/2025/3/5 12:02:16/

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻

C语言 判断是否是素数

一、代码 ⭐️

#include <stdio.h>
#include <stdbool.h> // 使用 bool 类型// 判断是否是素数的函数
bool isPrime(int num) {if (num <= 1) {return false; // 1 和负数不是素数}if (num == 2) {return true; // 2 是素数}if (num % 2 == 0) {return false; // 偶数(除了 2)不是素数}// 检查从 3 到 sqrt(num) 的奇数for (int i = 3; i * i <= num; i += 2) {if (num % i == 0) {return false; // 如果能被整除,则不是素数}}return true; // 否则是素数
}int main() {int num;// 输入一个整数printf("请输入一个整数: ");scanf("%d", &num);// 调用函数判断是否是素数if (isPrime(num)) {printf("%d 是素数。\n", num);} else {printf("%d 不是素数。\n", num);}return 0;
} 

在这里插入图片描述

二、部分代码分析 ⭐️

for (int i = 3; i * i <= num; i += 2) {if (num % i == 0) {return false; // 如果能被整除,则不是素数}
}

因为质数是只能被 1和它本身 整除的数,如果num不是质数的话,那么它应该就可以表示成a*b=num。如果ab都大于num的平方根的话,那么a*b就会大于num。就和前面a*b=num矛盾了。所以说a或者b肯定有一个是小于或等于num的平方根。因此for循环那里i*i<=num,后面那个i+=2是为了保证每次检查的num都是奇数,因为偶数除了2以外,必然不是质数。
如果一个数能通过平方根得出一个整数值,那么这个数肯定不是质数。所以那里的条件应该是i<=根号num。但是有可能是无理数,就不好比较啦。就通过i*i<=num来实现。

在这里插入图片描述


http://www.ppmy.cn/devtools/164736.html

相关文章

Versal - XRT(CPP) 2024.1

目录 1.简介 2. XRT 2.1 XRT vs OpenCL 2.2 Takeways 2.3 XRT C APIs 2.4 Device and XCLBIN 2.5 Buffers 2.5.1 Buffer 创建 2.5.1.1 普通 Buffer 2.5.1.2 特殊 Buffer 2.5.1.3 用户指针 Buffer 2.5.2 Data Transfer 2.5.2.1 read/write API 2.5.2.2 map API 2…

请你说一下你对服务降级的理解

服务降级是指在服务出现故障或资源不足的情况下&#xff0c;通过牺牲部分功能或性能&#xff0c;以确保核心功能或服务的可用性。其主要目的是在系统面临压力或故障时&#xff0c;仍然能够提供基本的服务&#xff0c;而不是完全失败。 服务降级的核心思想 保证核心功能&#x…

RMSNorm模块

目录 代码代码解释1. 初始化方法 __init__2. 前向传播方法 forward3. 总结4. 使用场景 可视化 代码 class RMSNorm(torch.nn.Module):def __init__(self, dim: int, eps: float):super().__init__()self.eps epsself.weight nn.Parameter(torch.ones(dim))def forward(self,…

合理规划时间,从容应对水利水电安全员考试

合理规划时间&#xff0c;从容应对水利水电安全员考试 在忙碌的工作与生活节奏中备考水利水电安全员考试&#xff0c;合理规划时间是实现高效备考的核心。科学的时间管理能让你充分利用每一分每一秒&#xff0c;稳步迈向考试成功。 制定详细的学习计划是第一步。依据考试时间…

二、Redis 安装与基本配置:全平台安装指南 服务器配置详解

Redis 安装与基本配置:全平台安装指南 & 服务器配置详解 Redis 作为高性能的内存数据库,其安装和配置是使用 Redis 的第一步。本篇文章将全面介绍 Redis 的安装方式,覆盖 Windows、Linux、Docker 环境,并详细讲解 Redis 的基础配置,包括 持久化、日志、端口设置等。此…

USRP B205mini 开箱— 沉浸式组装

USRP B205mini 开箱— 沉浸式组装 开箱 USRP b205mini&#xff1a;初体验 刚刚收到了心心念念的USRP b205mini&#xff0c;这是我在无线电爱好路上的新伙伴。开箱这一刻&#xff0c;正如解锁未知世界的一把钥匙。拆开快递&#xff0c;轻巧的包装盒映入眼帘&#xff0c;简约大气…

【零基础C语言】第四节 数组

【零基础C语言系列】 【零基础C语言】第一节 C语言概述【数制进制码制】-CSDN博客 【零基础C语言】第二节 数据类型、运算符、表达式-CSDN博客 【零基础C语言】第三节 控制结构-CSDN博客 一、一维数组

磁盘空间不足|如何安全清理以释放磁盘空间(开源+节流)

背景&#xff1a; 最近往数据库里存的东西有点多&#xff0c;磁盘不够用 查看磁盘使用情况 df -h /dev/sda5&#xff08;根目录 /&#xff09; 已使用 92% 咱们来开源节流 目录 背景&#xff1a; 一、开源 二、节流 1.查找 大于 500MB 的文件&#xff1a; 1. Snap 缓存…