输出100~200之间的素数
2015-11-26 22:35
731 查看
如果要输出一个素数,首先要判断它是不是素数。大家都知道素数是只能被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为素数;
由于法一效率比较低,就在此不写了。下面我写出了两种方法:
法二:
假设这个数为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; }
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 如何写好 C main 函数
- Lua和C语言的交互详解
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中计算正弦的相关函数总结
- 使用C语言详解霍夫曼树数据结构
- 探讨C语言的那些小秘密之断言
- C语言实现BMP转换JPG的方法
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- C语言查找数组里数字重复次数的方法
- C语言泛型编程实例教程
- C语言中使用lex统计文本文件字符数