您的位置:首页 > 健康 > 美食 > 厨房装修图片_电脑管理系统_百度广告买下的订单在哪里找_市场调研怎么做

厨房装修图片_电脑管理系统_百度广告买下的订单在哪里找_市场调研怎么做

2025/3/18 9:54:11 来源:https://blog.csdn.net/weixin_48850734/article/details/146029170  浏览:    关键词:厨房装修图片_电脑管理系统_百度广告买下的订单在哪里找_市场调研怎么做
厨房装修图片_电脑管理系统_百度广告买下的订单在哪里找_市场调研怎么做

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

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来实现。

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com