網站首頁 編程語言 正文
前言
素數又稱質數。所謂素數是指除了 1 和它本身以外,不能被任何整數整除的數,例如17就是素數,因為它不能被 2~16 的任一整數整除。
思路1):因此判斷一個整數m是否是素數,只需把 m 被 2 ~ m-1 之間的每一個整數去除,如果都不能被整除,那么 m 就是一個素數。
思路2):判斷方法還可以簡化。m 不必被 2 ~ m-1 之間的每一個整數去除,只需被 2 ~ ?之間的每一個整數去除就可以了。如果 m 不能被 2 ~ ?間任一整數整除,m 必定是素數。例如判別 17 是是否為素數,只需使 17 被 2~4 之間的每一個整數去除,由于都不能整除,可以判定 17 是素數。
原因:因為如果 m 能被 2 ~ m-1 之間任一整數整除,其二個因子必定有一個小于或等于 ,另一個大于或等于 。例如 16 能被 2、4、8 整除,16=2*8,2 小于 4,8 大于 4,16=4*4,4=√16,因此只需判定在 2~4 之間有無因子即可。
思路1實現:
#includeint main() { int n; printf("請輸入一個1-100之間的整數:\n"); scanf("%d", &n); int m = 0; for (int i = 2; i < n; i++ ) { if(n % i == 0) { m++; } } if (m == 0) { printf("%d是素數\n", n); } else { printf("%d不是素數\n", n); } return 0; }
思路2實現:
#include#include int main() { int n; printf("請輸入一個1-100之間的整數:\n"); scanf("%d", &n); int i = 0; int q = sqrt(n); for (i = 2; i <= q; i++ ) { if(n % i == 0) { break; } } if (i > q) { printf("%d是素數\n", n); } else { printf("%d不是素數\n", n); } return 0; }
《C與指針》4.14 - 2:
打印1~100之間所有質數:
#includeint main() { int num, divisor; printf("1, 2"); for (num = 3; num <= 100; num += 2) { for(divisor = 3; divisor < num; divisor +=2 ) { if (num % divisor == 0) { break; } } if(divisor >= num) { printf(", %d", num); } } printf("\n"); return 0; }
結果:
1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97
補充:判斷素數的4種方法實例
#include#include //方法一:從1-n挨個判斷; bool isPrimel_1(int n) { for(int i=2;i
總結
相關推薦
- 2022-04-03 django中websocket的具體使用_python
- 2022-07-11 Python利用xlrd?與?xlwt?模塊操作?Excel_python
- 2022-06-21 Oracle新增和刪除用戶_oracle
- 2022-05-23 NetCat工具命令介紹及遠程文件傳輸實現_linux shell
- 2022-10-16 實例詳解Python中的numpy.abs和abs函數_python
- 2022-10-29 Golang?動態腳本調研詳解_Golang
- 2022-05-24 C#創建及訪問網絡硬盤的實現_C#教程
- 2023-01-17 Golang排序和查找使用方法介紹_Golang
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支