判断一个数是素数

判断一个数是素数

ID:45973918

大小:248.16 KB

页数:9页

时间:2019-11-19

判断一个数是素数_第1页
判断一个数是素数_第2页
判断一个数是素数_第3页
判断一个数是素数_第4页
判断一个数是素数_第5页
资源描述:

《判断一个数是素数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、如何判断一个数是素数?C/C++基本思想判断一个整数m是否为素数,只需用2~m-1之间的每一个整数去除,如果都不能被整除,那么m就是一个素数。其实可以简化,m不必被2~m-1之间的每一个整数去除,只需被2~之间的每个数去除就可以了。例如判别17是否为素数,只需使2~4之间的每一个整数去除。为什么可以做如此简化呢?因为如果m能被2~m-1之间任意整数整除,如果这个数大于,那这个数必定对应的还有一个比小的因子(以16为例,2、8是它的因子,8大于4,2小于4)。源程序#include#include#defineTRUE

2、1#defineFALSE0intmain(){intn;charisPrime(intn);//声明函数isPrimeprintf("Pleaseenteranumber:");scanf("%d",&n);if(isPrime(n)==TRUE){printf("TRUE");}else{printf("FALSE");}return0;}charisPrime(intn){inti;charc=TRUE;if(n==2){c=TRUE;}elseif(n>2){if(n%2==0){c=FALSE;}运行结果else{for(i=3

3、;i<=sqrt(n);i+=2){if(n%i==0){c=FALSE;break;}}}}else{c=FALSE;}returnc;}方法二:boolisprime(inta){for(inti=2;i<=sqrt(a);i++)if(a%i==0)returnfalse;returntrue;}voidmain(){inta;printf("请输入:");scanf("%d",&a);if(isprime(a))printf("是素数");elseprintf("不是素数");}方法三:voidmain(){inti,k,m;scan

4、f("%d",&i);k=sqrt(i);//判别i是否为素数,只需使2~根号i之间的每一个整数去除for(m=2;m<=k;m++)if(i%m==0)break;if(m>k)printf("%d是素数",i);elseprintf("%d不是素数",i);}输出1~100之间的素数intmain(){inti,n,t=0;for(n=1;n<=100;n++){for(i=2;i<=n;i++){if(n%i==0)break;}if(n==i){printf("%-8d",n);//数据占8个宽度,并左对齐;t++;if(t%5==0)//每

5、输出5个素数后换行;printf("");//字符输出函数;}}printf("");printf("1-100内共有以上%d个质数(素数)。",t);return0;}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。