输出100 - 200之间的素数

素数就是质数,即除了1和它本身不再有求它因数的自然数
那么这道题的思路就是用100到200之间的数去除以比这个数小的所有数(除了1和它本身),如果有余数说明它不是一个素数
看下面代码:

int main()
{int i = 0;int count = 0;// 外层循环用来获取100~200之间的所有数据,100肯定不是素数,因此i从101开始for(i=101; i<=200; i++){//判断i是否为素数:用[2, i)之间的每个数据去被i除,只要有一个可以被整除,则不是素数int j = 0;for(j=2; j<i; j++){if(i%j == 0){break;}}// 上述循环结束之后,如果j和i相等,说明[2, i)之间的所有数据都不能被i整除,则i为素数if(j==i){count++;//记录质数的个数printf("%d ", i);}}printf("\ncount = %d\n", count);return 0;
}

当然这个代码还可以优化
因为偶数不可能是质数,所以我们让 i 每次循环 +2
超过i一半的数据,i 一定不是它的倍数
所以代码如下:

int main()
{int i = 0;//初始值设为101,每次+=2,因为偶数一定不是素数for (i = 101; i < 200; i += 2){int j = 0;//大于i/2的数一定不能被i整除  for (j = 2; j <= i / 2; j++){if (i % j == 0){break;}}// 上述循环结束之后,如果j>(i/2),说明[2, i/2)之间的所有数据都不能被i整除,则i为素数if (j > i / 2){printf("%d ", i);}}return 0;
}

还有一个算法就是 i的因子 < sqrt(i)
这是什么意思呢?
首先 sqrt 是开平方的意思

所以我们只需要让因子小于 “36开平方” 就可以了
代码如下:

int main()
{int i = 0;int count = 0;//记录素数的个数for (i = 101; i <= 200; i += 2){//判断i是否为素数//2->i-1int j = 0;for (j = 2; j <= sqrt(i); j++){if (i % j == 0){break;}}//...if (j > sqrt(i)){count++;printf("%d ", i);}}printf("\ncount = %d\n", count);return 0;
}

这段代码的结果为

输出100 - 200之间的素数C语言相关推荐

  1. 【C语言练习】将100~200之间的素数输出

    将100~200之间的素数输出 一.编程思路 1.首先,我们要意识到,找出某个区间内符合条件的数,就需要对这个区间内的所有数进行遍历,而最常用的遍历方法就是利用for循环: 2.其次,在确定了遍历区间 ...

  2. 打印100~200 之间的素数,输出乘法口诀表,判断1000年---2000年之间的闰年

    1.打印100~200 之间的素数 #include <stdio.h> int main() { int n,i; for(i=100;i<=200;i=i++) { for(n= ...

  3. C语言基础课 编写程序之1.编写一个判断素数的函数,并利用该函数输出100~200的所有素数2.编写一个函数fun(),函数功能是:判断一个整数是否既是5又是7的整倍数,若是,输出yes,不是,输出n

    1.编写一个判断素数的函数,并利用该函数输出100~200的所有素数 #include<stdio.h> #include<math.h> int fun(int n) {in ...

  4. 打印100~200之间的素数。

    . 打印100~200之间的素数. #include <stdio.h> #include<stdlib.h>void main(){ int a,b; for(a=100;a ...

  5. 求解100~200之间的素数

    求解100~200之间的素数目录 文章目录 求解100~200之间素数目录 前言 一.素数是什么? 二.求解素数的方法 1.常规方法 2.优化方法 3.另辟蹊径 总结 前言 对于很多人对求解素数存在一 ...

  6. 求出100~200之间的素数

    求出100~200之间的素数的个数,并求出所有的素数. 分析:素数定义是只能被1和该数本身整除 package com.math.forth;/*** 求出100~200之间的素数的个数,并求出所有的 ...

  7. 打印100~200 之间的素数

    编写思想:对100到200之间的数依次进行for循环判断,看其是否为素数.判断方法:对于一个自然数,除了1以外,不是素数就是合数.若该数字是素数,则不能被除了1和它自身以外的数整除:而一个数如果是合数 ...

  8. 用流程图、NS图、伪代码分别描述解决如下实际问题的算法。将100~200之间的素数输出。

    正解: 伪代码: n=100 while n≤200 do i=2 while i≤√n if mod(n,i)=0 then i=n else i=i+1 end if end do if i &l ...

  9. 100~200之间的素数(及其四个优化方案)

    要求素数,首先我们要知道什么是素数,在解题的时候,不要急着去寻找方法解题,而是要先了解它的根本,才可以在遇到类似题的时候轻松面对解决 质数(prime number)又称素数,有无限个.一个大于1的自 ...

最新文章

  1. shell中的for循环语句
  2. ssh开发实战之整合篇
  3. 两个等号(==)和三个等号(===)的区别
  4. R开发(part6)--pryr包
  5. 开源分布式中间件 DBLE 快速入门指南
  6. 饿了么超级会员,年卡低至108元!饿了么会员,点外卖超省钱!
  7. DRAM与SRAM的比较
  8. 采访前高级软件工程课程学员付浩同学,及Scrum总结阅读感想
  9. cleanlab(解决图像标记错误)
  10. 批处理html转excel,批量Excel转TXT工具(Batch Excel to Text Converter)v2020.12.1118官方免费版...
  11. 一根不均匀的绳子,全部烧完需要1个小时,问怎样烧能计时1个小时15分钟
  12. 024.RN项目android打包
  13. 手机dlna到linux,linux dlna服务器
  14. IOS – OpenGL ES 调节图像白平衡/色温 GPUImageWhiteBalanceFilter
  15. python笔记打卡
  16. 计算机组成原理中op,计算机组成原理课程习题答案秦磊华
  17. 百度乐居能否引领房地产市场新风向标?
  18. 《前端》慕课--分页导航(带页码的分页导航)
  19. Window截图方法
  20. 欧姆龙SysmacStudio 关于模块化编程的使用技巧---全局变量和数据类型

热门文章

  1. Nodejs——身份证验证
  2. Opencv配置VS2010,配置成功后如何成功使用完成vs调用opencv库
  3. 2022java学习路线总结—纯干货分享
  4. STC12系列单片机的空闲模式、休眠模式(又叫掉电模式、停机模式)
  5. iOS YYText的使用笔记一(YYTextView图文编辑器)
  6. vol.175 李大夫夜话:父母皆祸害?
  7. 忽略了导热硅脂等于祸害电脑
  8. python max函数_python max函数
  9. 005基于Hilbert振动分解的神经网络癫痫发作预测-2020
  10. HTML网页设计结课作业--个人介绍(3页)