如何找到素数?
来源:互联网 发布:淘宝运营推广区别 编辑:程序博客网 时间:2024/06/11 06:18
刚开始学C语言时,曾经遇到过要求素数的题,当时有源程序,可我怎么都看不懂,我一度把这道题列为最难题之一,是因为我弄不懂它的思想。素数是什么呢?素数其实就是除了它本身和1,不能被其他数整除。假设有一个数i,只要i不被从2到(i-1)的数整除,也就是取余为0时,它就不是素数。那么,我们可以定义一个标志位flag,令其为1时为素数,flag=0时自然就不是素数,这里可以想到做个for循环,取余为0时就跳出循环。此外一串数中要一个一个经过for循环,就还需要一个盛放素数的容器,可以保证几个一行几个一行的输出,这样是结果看上去更加清楚明了。
之后我有发现一个问题,从2到(i-1)貌似重复计算循环一些数,经过查数我发现只要到根号i就好了,这样计算机也不重复做工了!下面附上最后源程序,找出从100到200的素数(每5个一行,每个数占4位),敬请各位大神指教!
#include<stdio.h>#include"math.h"int main(){int i;int j;int count = 0;for (i=100; i<=200; i++){int temp = sqrt(i); int flag = 1;for (j=2; j<=temp; j++){if (i % j == 0){flag = 0;break;}}if (flag){count++; printf ("%4d\n",i);} if (count % 5 == 0) { printf ("\n");}} printf ("\n"); return 0;}
0 0
- 如何找到素数?
- 找到100到1000之间的素数
- 找到100~200之间的素数
- 素数 高效率找到i到n之间的素数
- 如何找到User exit?
- 如何找到理想工作
- 如何找到理想工作
- 如何找到这首歌?
- 如何找到研究点
- 如何找到问题所在
- 如何找到创意点子
- 如何找到创意点子
- 如何找到创意点子
- 如何找到创意点子
- 如何找到创新点?
- Facebook如何找到一流人才?
- 如何找到券商实习
- 如何找到文件夹选项?
- MStar2256A升级FW失败后TP无功能
- ENVI下植被覆盖度的遥感估算
- Longest Repeating Character Replacement
- 总结
- Apriori算法
- 如何找到素数?
- ssm目录结构及相关配置
- Servlet学习笔记(三)之HttpServletRequest
- wxPython实现Frame之间的跳转/更新的一种方法
- 阅读还是写作,这是个问题
- Redis 启动警告解决
- centos7 yum 安装mysql
- poi 导出excel
- 新闻发布项目——后台JSP界面adminManage/addCategory.jsp