我的代码

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{int num=0;for(int i=2; i<100; i++){int zhishu = 1;for(int j=2; j<=(int)sqrt(i); j++){if(i%j==0){zhishu = 0;}}if(zhishu == 1){printf("%d\n",i);}}return 0;
}
/*
代码不够优越,有很多计算不优良的地方需要改进
如除2以外的偶数都不是质数
大于1的自然数,如果不是质数,可以分解成有限个质数相乘等
注意1既不是质数,也不是合数
*/

参考代码

#include <stdio.h>
#define Max 100 //定义全局变量
int num[Max/2],p=0;//定义存质数的表,p是素数表的下标
//因为1~100内,有一半偶数,一半奇数,偶数除2以外都不是质数,所以数组大小可定义为Max/2
int isPrime(int i){ //判断是否是质数函数
//唯一分解定理:任何一个大于1的自然数N, 如果N不为质数,那么N可以唯一分解成有限个质数的乘积
//如果L=m×n,则必有m≤根号L,n≥根号L
//如果根号L左边都没有L的因子,那右边也不会有,所以只需要看根号L左边的即可
//只看根号L左边:可以用m≤根号L,也可以用m×m≤L,后者更方便,不用考虑小数的处理for(int j=0;num[j]*num[j]<=i;j++){ //只看根号i的左边是否有因子,这里也别忘记带等号<=,因为有25=5×5的情况if(i%num[j]==0){//如果能整除,则是因子return 0;}}return 1;//否则,没有因子,就是质数
}void gen_primes(max){ //寻找质数及数组处理函数num[0]=2; //数组预处理,第一个质数是2,注意1既不是质数也不是合数for(int i=3;i<=max;i+=2){ //质数除2以外都是奇数,所以可以i+=2if(isPrime(i)) //判断该数是否为质数num[++p]=i;//如果是,则扔进质数数组中}
}
int main() //主函数,程序的入口
{gen_primes(Max); //Max定义为了全局变量,仍作为参数放到函数中,是为了防止使用过程中不小心修改了全局变量for(int i=0;i<=p;i++){ //打印质数数组,因为p是先加后用,所以取值时别忘了带等号<=printf("%d\n",num[i]);}return 0;
}

总结:

1、质数(素数),是指在大于1的自然数(非负整数)中,除了1和它本身以外不再有其他因数的自然数。与质数相反的数是合数,1既不是质数也不是合数,除2以外的质数都是奇数
2、唯一分解定理:任何一个大于1的自然数N, 如果N不为质数,那么N可以唯一分解成有限个质数的乘积。例如:12=3×4=3×2×2;9=3×3。
3、L=m×n,则m≤根号L,n≥根号L,所以只需要看根号L左边的即可

C语言 输出100以内的质数相关推荐

  1. C语言-输出100以内的质数

    质数指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数. #include<stdio.h> int main() {int i,k;for(i=2;i<=10 ...

  2. Linux质数合数的脚本,python输出100以内的质数与合数实例代码

    python输出100以内的质数与合数实例代码 具体代码如下所述: __author__ = 'Yue Qingxuan' # -*- coding: utf-8 -*- #求质数 p=[2] for ...

  3. 20以内的素数编码C语言,用C语言 输出100以内的素数,

    用C语言 输出100以内的素数, 用C语言 输出100以内的素数, 输出100以内的素数,谁能帮一下,我做了好久没做出来,也想了好久, 能带注释那更好了,我是新中新手,还有很多很多的不懂, 搜索更多相 ...

  4. python100以内自然数之和_python输出100以内的质数与合数实例代码

    具体代码如下所述: __author__ = 'Yue Qingxuan' # -*- coding: utf-8 -*- #求质数 p=[2] for i in range(2,101): for ...

  5. python中求合数_python输出100以内的质数与合数实例代码

    具体代码如下所述: __author__ = 'Yue Qingxuan' # -*- coding: utf-8 -*- #求质数 p=[2] for i in range(2,101): for ...

  6. python输出1到100之间的合数_python输出100以内的质数与合数实例代码

    具体代码如下所述: __author__ = 'Yue Qingxuan' # -*- coding: utf-8 -*- #求质数 p=[2] for i in range(2,101): for ...

  7. Java输出100以内的质数(及其代码优化详程)

    文章目录 Java输出100以内的质数 重点:<代码的优化> P1:currenttimemillis方法计算运行时间 p2:优化一(针对非质数) p3:Java 中 Math.sqrt( ...

  8. python100以内的质数_python输出100以内的质数与合数实例代码

    具体代码如下所述: __author__ = 'Yue Qingxuan' # -*- coding: utf-8 -*- #求质数 p=[2] for i in range(2,101): for ...

  9. 输出100以内的质数 java

    java输出100以内的质数 class Ab{public static void main(String[] args){boolean isFlag = true; //标识i是否能被j除尽,一 ...

  10. js输出100以内的质数_JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例...

    这篇文章主要介绍了JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 斐波那契 ...

最新文章

  1. R语言包_lubridate
  2. java在src创建entity文件_java自动生成entity文件
  3. 硬核图解!断网了,还能ping通 127.0.0.1 吗?为什么?
  4. J - 青蛙的约会(扩展欧几里得)
  5. Packt发行的$ 5 Java编程书籍:精通Java 9,Java 9 High Performance
  6. PyQt5 环境搭建+配置+怎样运行生成的.py程序
  7. Oracle 并行执行SQL
  8. python运维脚本部署jdk_Jenkins 为Jenkins添加Windows Slave远程执行python项目脚本
  9. 零基础学启发式算法(1)-贪心算法(Greedy Algorithm)
  10. (三)添加HDRI环境贴图和顶点绘制技巧
  11. dd模式和iso模式_ISO的完整形式是什么?
  12. Docker 从入门到实战视频教程(15 个视频)
  13. 做个坚强的逆行者,献给终日奋斗的你我——《当幸福来敲门》
  14. NOIP2019数字游戏
  15. 区间对比_预算1015万元区间 国内在售街车综合实力对比
  16. Maxima函数的不完全列表
  17. 基于鲁棒-距离平衡和基于学习的人工蜂群的强大优化算法(Matlab代码实现)
  18. 服务器安装嵌入式系统,嵌入式设备连接云服务器
  19. onmouseover 事件
  20. 真心话大冒险小程序python实现

热门文章

  1. 计算机考研408每日一题 day19
  2. abab的四字成语_abab式的四字词语
  3. PADS9.5 导入立创元器件库卡顿
  4. 嵌入式--接口(一)Camera接口:DVP、MIPI
  5. 操作系统多道程序设计和分时---笔记02
  6. 【Java Map数据】中国各省份省会城市经纬度
  7. 浙大PAT 1063
  8. python实现指纹识别毕业论文_指纹识别算法实现-毕业论文
  9. 0402 0603 0805 1206焊盘封装尺寸
  10. 文件系统性能测试工具 FIO工具