[c语言基础]如何判断素数

素数又称质数。所谓素数是指除了 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 是素数。

只用思路1写了代码,仅供参使用。

复制代码
 1 #include<stdio.h>
 2 //判断素数:输入一个数进行判断
 3 int tamp = -1;//用于记号
 4 int a;//输入的数字
 5 Judge(int a) {
 6     for (int i = 2; i < a; i++)
 7     {
 8         if (a % i == 0) {
 9             tamp++;
10         }
11     }
12         if (tamp==-1)
13         {
14             printf("%d是素数\n", a);
15         }
16         else
17         {
18             printf("%d不是素数\n", a);
19     }
20 }
21 int main(){
22 ;    scanf_s("%d:", &a);
23     Judge(a);
24     system("pause");
25     return 0;
26 }
复制代码

 

posted @   不知名de菜鸟  阅读(524)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示