首页 > 编程知识 正文

用c语言判断是否为素数,素数的判断方法c++语言

时间:2023-05-05 02:25:20 阅读:217556 作者:1486

素数就是(质数),就是只能被1和自身整除的大于1自然数。 例一、已知m是一个大于1的正整数,编程序判断m是否为素数。 编程思路: 1、要判断m是否为素数,只需要检测m是否能被2到m-1之间的整数整除。 2、判断思路(1) 如果m不能被2整除;(例如m=7) m也不能被3整除;

。。。。。

m也不能被m-1整除; m是素数。 (需要同时满足多个条件) 3、判断思路(2) 若m能被2到m-1之间的某一个整数整除,则不是素数(列如m-9) (只需要满足一个条件) 4、

判断m是否能够被i整除,如果不能则i自增,然后再次判断循环,如果当能被整除的时候声明m不是素数,如果都不能被整除说明m是素质

5、


源代码:
return语句直接退出程序

改进算法
当是素数的时候将i累加,直达i=m
当不是素数i不累加直接跳出循环,i不等于m

for循环改进算法

例二、计算并输出high以内最大的10个素数的和,high的值由主函数传输给fun()函数 #include<conio.h> #include<stdio.h>#include<math.h>int fun(int high){int sum = 0,n = 0,j,yes;while((high>=2) && (n < 10)){yes = 1;//这里是判断是否是素数 for(j=2;j<=high/2;j++){//当high余上j的时候等于0说明,有余数,不是素数 (只要有一次判断其可以整除) if(high%j==0){yes=0;break;//中断循环 }}//上面循环结束说明 high是素数 if(yes){//说明是质数, sum+=high;//将其累加到sum当中 n++;}high--;//从100依次递减判断,寻找10最大素质累加 }return sum;}void main(){printf("%dn",fun(100));}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。