C语言:查找打印质数(素数)
这个题是很灵活的,有几种解法,也有很多种优化方法,这里,我来谈谈一种个人感觉比较容易理解的方法。
首先,要知道质数(素数)是什么?
质数(素数)是除了1和它本身,不能再被其他数整除的数。
那么,知道这个后,就可以来编程了。
先打印出100-200中的质数(素数)
100到200当然不可能是一个一个打出来了,必定要使用循环弄出100-200,比如:
然后,就看看100-200中的某个数符不符合除了1和它本身,不能再被其他数整除,我们就可以从2开始,看能不能被2整除,如果不能,则变成3、4、5……直到除到他本身-1,如果都不能整除,那么,就可以打印出这个数。过程如下图:
这时候会发现,我们定义了一个新的变量--add,为什么要定义这个变量呢?
原因是这个变量可以在不满足条件的时候变成0;在满足条件的情况,则会保持原来的数值不变,然后就可以打印出来。最值得注意的是,这个变量 add 是不能放在全局变量位置的,它是一定要放在第一个循环的局部变量中的,这样才能使每次循环过后,都恢复成原来所定义的数值,避免代码运行结果不符合自己的预期。
整理过后,就可以得到完整的打印100-200中的质数(素数)的代码,见下:
最后,也是每个项目都要的推广环节,在此之前,我们要先来对这个代码进行优化一下,
在这一行中,i 从2一直加到 num -1,数字小还好,如果使庞大的数字的话,整个工程运行起来的速度会变慢不少,所以,我们可以把代码优化成这样:
因为在根号下 num 之前都没能找到有一个数能被 num 整除的话,那么,在根号下 num 之后,也一定不会存在有一个数能够被 num 整除。
推广:可以让其在打印质数(素数)时,不受范围限制(如上面代码,只能打印100-200之间的),而是能够按照自己的意愿来打印这些质数(素数)。
最后的代码为:
C语言:查找打印质数(素数)相关推荐
- C语言基础-判断质数(素数)
题目描述 素数又称质数.所谓素数是指除了 1 和它本身以外,不能被任何整数整除的数.例如17就是素数,因为它不能被 2~16 的任一整数整除. 输入 输入一个数 输出 输出这个数是否为质数 样例输入 ...
- python判断质数_使用Python语言判断质数(素数)的简单方法讲解
本文主要向大家介绍了使用Python语言判断质数(素数)的简单方法,通过具体的实例让大家了解,希望对大家学习Python语言有所帮助. 质数又称素数.指在一个大于1的自然数中,除了1和此整数自身外,不 ...
- 用php输出一百以内的素数,php输出1000以内质数(素数)示例
php输出1000以内质数(素数)示例 复制代码 代码如下: for($i = 2; $i < 1001; $i++) { $primes = 0; for($k = 1; $k <= $ ...
- c语言实现进行偶数素数分解
这是一种在 C 语言中实现偶数素数分解的算法: 判断输入的数字是否为偶数.如果是,则将其分解为两个因数:2 和该数字除以 2 的商. 否则,设置一个循环,从 3 开始,每次加 2,直到找到第一个小于等 ...
- 打印质数的各种算法----来自酷壳(www.coolshell.com)
打印质数的算法应该是学习计算机编程的一个经典的问题,在这里想给大家展示一些方法,相信这些方法会对你的编程有一定的启发作用.请你注意几点, 实际应用和教学应用有很大的差别. 最后的那个使用编译时而不是运 ...
- c语言mn回文素数编程,C语言求回文素数代码及解析
原标题:C语言求回文素数代码及解析 问题描述 所谓回文素数指的是,对一个整数n从左向右和从右向左读其数值都相同且n为素数,则称整数为回文素数. 对于偶数位的整数,除了11以外,都不存在回文素数.即所有 ...
- c语言用伪代码判断素数,素数的伪代码怎么写
1. c语言中如何求素数 思路:所谓素数是指只能被1和自身整除的数叫作素数,判断素数就可以从2到该数减一依次判断能否整除该数,如果能则不是素数,否则就是素数. 参考代码: #include int i ...
- python质数判断if isprime_使用Python判断质数(素数)的简单
这篇文章主要介绍了使用Python判断质数(素数)的简单方法讲解,经常被用来做科学计算的Python处理这种小问题当然手到擒来^_-需要的朋友可以参考下 质数又称素数.指在一个大于1的自然数中,除了1 ...
- java 语言如何判断素数_C语言实验之判断素数(循环结构java)方法讲解
C语言实验之判断素数(循环结构java)方法讲解 Problem Description 从键盘上输入任意一个正整数,然后判断该数是否为素数. 如果是素数则输出"This is a prim ...
- C语言查找单链列表的第k个元素的算法(附完整源码)
C语言查找单链列表的第k个元素的算法 C语言查找单链列表的第k个元素的算法完整源码(定义,实现,main函数测试) C语言查找单链列表的第k个元素的算法完整源码(定义,实现,main函数测试) #in ...
最新文章
- c#中页面之间传值传参的六种方法
- 如何制作并更改项目icon文件
- 小熊维尼项目冲刺 第三天
- Openssl的证书格式转换
- pycharm 快捷键2
- 「Ruby Sqlite3」How to install sqlite3 for ruby? (solve: sqlite-ruby no such file...)
- Linux下性能压测工具WRK,性能测试神器 wrk 使用教程
- 色板游戏(洛谷 1558)
- 华为设备DHCP/DHCP中继及DHCPv6/DHCPv6中继详解
- php ip 访问频繁,php刷新过于频繁自动加ip黑名单
- Win11改Win10右键菜单
- python代码美化工具
- 2021年全球与中国飞机飞行控制系统(FCS)行业市场规模现状及企业市场份额分析
- 【vue】配置cdn加速
- 每日3词 2021-03-05【point】【continue】【return】
- 弹出 think-cell 许可证密钥窗口丨使用教程
- 数仓建模(数据模型)
- C3P0Util 的制作 及DButils 中的 QueryRunner 类的使用
- 利用Metasploit控制目标电脑(Win7_x64系统)
- 开源的悲哀——袁萌100天变身实录[3]
热门文章
- [转帖]身份证前两位是怎么来的
- 偶遇 649453.sys / Adware.Cdn / Hacktool.Rootkit
- 用两个栈实现队列(Java)
- ADS学习记录--元器件库列表
- Java并发编程思维导图
- 微信小程序登陆注册功能实现
- 计算机毕业设计ssm高校物资捐赠管理系统0e45o系统+程序+源码+lw+远程部署
- android11系统原生铃声,原生系统的凤毛麟角 索尼Xperia 1 II推送Android 11体验
- libmodbus 封装成dll_Windows Visual Studio 2017 编译 libmodbus
- Linux下关闭udhcpc客户端时,通知服务器释放租约