C语言实现:判断不超百万正整数是否为素数及开发注意要点
```c #include <stdio.h> #include <stdbool.h> // 该函数用于判断一个数是否为素数 bool isPrime(int num) { // 素数定义要求大于1 if (num <= 1) { return false; } // 从2开始到sqrt(num)检查是否有能整除num的数 for (int i = 2; i * i <= num; i++) { if (num % i == 0) { return false; } } return true; } int main() { int N; // 读取用户输入的正整数 scanf("%d", &N); // 调用isPrime函数判断是否为素数 if (isPrime(N)) { printf("YES\n"); } else { printf("NO\n"); } return 0; } ``` 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 素数的定义是大于1的自然数,所以在判断时要先排除小于等于1的数。 2. 在循环检查因数时,循环到sqrt(num)即可,因为如果num有大于sqrt(num)的因数,那么必然有一个小于sqrt(num)的因数与之对应。 3. 输入的数要确保在规定的范围(不大于1000000)内,虽然本代码未对范围做额外检查,但在实际应用中可能需要添加边界检查。 ######[AI写代码神器 | 350点数解答 | 2025-11-20 00:18:48]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)349
- 工程师必知:软件系统用户文档编写九大要点揭秘(百度文心 | 350点数解答 | 2023-11-09 18:23:53)193
- MATLAB:从判断单个数是否为素数到求任意范围素数的实现(字节豆包 | 1445点数解答 | 2025-12-26 08:25:53)30
- Python 实现 7 位整数格式化输出,添加千分位分隔符并补齐小数(字节豆包 | 81点数解答 | 2024-11-04 22:33:30)346
- C 语言实现 7 位整数格式化:千分位分隔与小数补齐(字节豆包 | 138点数解答 | 2024-11-04 22:34:02)291
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)319
- MATLAB:用循环语句判断输入的数是否为素数(字节豆包 | 200点数解答 | 2025-12-26 08:23:12)31
- Python 实现移位与仿射密码:精准加密解密及关键逻辑解析(字节豆包 | 798点数解答 | 2024-12-18 15:55:47)257
- C++ 实现:快速判断正整数是否为“超级整数”(字节豆包 | 239点数解答 | 2025-11-10 18:52:28)96
- C++实现:判断正整数是否为“超级整数”(字节豆包 | 242点数解答 | 2025-11-10 20:27:49)138
- Java实现Student类:含构造、方法及年龄判定(字节豆包 | 464点数解答 | 2024-11-19 15:55:26)387
- Python 实现多功能手机通讯录:添加、查看、删除、修改、查找全搞定!(字节豆包 | 1030点数解答 | 2025-06-05 15:47:56)244