判断素数类问题汇总
2018-06-18 04:05:38来源:未知 阅读 ()
(注:暂时先记录这些问题,后期再持续更新)
1,判断正整数m是否为素数
int i,m; printf("Enter a number:"); scanf("%d",&m); for(i=2;i<=m/2;i++) if(m%i == 0) break; //若m能被某个i整除,则m不是素数,提前结束循环 if(i > m/2&&m != 1) //若循环正常结束,说明m不能被任何一个i整除 printf("%d is a prime number!\n",m); else printf("No!\n"); return 0;
2,使用嵌套循环求100以内的全部素数
int count,i,m,n; count = 0; //记录素数的个数,用于控制输出格式 for(m=2;m<=100;m++){ n = sqrt(m); for(i=2;i<=n;i++) if(m%i == 0) break; if(i>n){ //如果m是素数 printf("%6d",m); //输出m count++; //累加已经输出的素数个数 if(count%10 == 0) //如果count是10的倍数,换行 printf("\n"); } } printf("\n"); return 0;
3,使用函数求100以内的全部素数
#include<stdio.h> #include<math.h> int main(void) { int count,m; int prime(int m); //函数声明 count = 0; //记录素数的个数,用于控制输出格式 for(m=2;m<=100;m++){ if(prime(m) != 0){ //调用prime(m)判断m是否为素数 printf("%6d",m); //输出m count++; //累加已经输出的素数个数 if(count%10 == 0) //如果count是10的倍数,换行 printf("\n"); } } printf("\n"); } /* 定义判断素数的函数,如果m是素数则返回1,否则返回0 */ int prime(int m) { int i,n; if(m == 1) return 0; //1不是素数,返回0 n = sqrt(m); for(i=2;i<=n;i++){ if(m%i == 0){ //如果m不是素数 return 0; //返回0 } return 1; } }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:C语言简明数据类型指南
下一篇:约瑟夫环 队列+链表
- WDK驱动调试问题点滴 2020-04-21
- 螺旋矩阵问题 2020-04-18
- 用C++实现:完美的代价 2020-04-15
- 【图论】几个例题~ 2020-04-14
- 用C++实现:FJ的字符串打印 2020-04-04
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash