输出100~200之间的素数
2016-05-26 14:54
351 查看
如果要输出一个素数,首先要判断它是不是素数。大家都知道素数是只能被1和它本身除尽的数,1既不是素数也不是合数,2是最小的素数同时也是唯一一个是偶数的素数,所以要判断一个数是不是素数,我想到了三种方法。
假设这个数为a
法一:让a依次和2到a-1相除,如果a不能被2到a-1之间的任何一个整数整除,则a为素数;
法二:让a依次和2到a/2相除,如果a不能被2到a/2之间的任何一个整数整除,则a为素数;
法三:让a依次和2到sqrt(a)相除,如果a不能被2到sqrt(a)之间的任意一个整数整除,则a为素数;
由于法一效率比较低,就在此不写了。下面我写出了两种方法:
法二:
本文出自 “10912110” 博客,请务必保留此出处http://10922110.blog.51cto.com/10912110/1717244
假设这个数为a
法一:让a依次和2到a-1相除,如果a不能被2到a-1之间的任何一个整数整除,则a为素数;
法二:让a依次和2到a/2相除,如果a不能被2到a/2之间的任何一个整数整除,则a为素数;
法三:让a依次和2到sqrt(a)相除,如果a不能被2到sqrt(a)之间的任意一个整数整除,则a为素数;
由于法一效率比较低,就在此不写了。下面我写出了两种方法:
法二:
#include<stdio.h > int main()//求100到200以内的素数; { int i, j,n=0; for (i = 100; i <= 200; i++) { for (j = 2; j <= i / 2; j++) { if (i%j == 0) { break; } } if (j>i/2) { printf("%d ",i); n = n + 1; if (n%5==0) printf("\n"); } } return 0; } 法三: #include<stdio.h> #include<math.h> int main() { int i,j,k,n=0; for(i=100;i<=200;i++) { k=sqrt(i); for(j=2;j<=k;j++) { if(i%j==0) { break; } } if(j>k) { printf("%d ",i); n=n+1; if (n % 5 == 0) printf("\n"); } } return 0; }
本文出自 “10912110” 博客,请务必保留此出处http://10922110.blog.51cto.com/10912110/1717244
相关文章推荐
- fastcgi与php-fpm之间关系
- flume 用户指南 - part 3
- OpenGLES---熟悉全局变量uniform,局部变量attribute,共享变量varying
- shell之while循环和文件描述符
- Android Service最全面的解析
- Unity3D中的线性插值Lerp()函数解析
- iOS开发之提取本地通讯录数据
- iOS强制屏幕旋转
- postgres 正则表达式 转
- Android Camera使用详解
- Hibernate Hql详解
- 最快速度找到内存泄漏
- 网易视频云技术分享:Facebook memcache优化经验
- 将java project 打包成跨平台的jar包
- jquery+ajax实现多个下拉选之间的关联
- jquery checkbox 操作
- Listener与Filter
- iOS开发中获取文本的宽高的方式
- 【代码总结】绝对定位与相对定位
- Linux上在同一端口上共享SSH与HTTPS的工具:SSLH