当前位置:网站首页>【C语言】输出100~200之间的素数/质数(3种方法)
【C语言】输出100~200之间的素数/质数(3种方法)
2022-08-03 05:25:00 【EurekaO-O】
1.什么是素数/质数
素数/质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数
2.输出100~200之间的素数/质数
第一种方法:先找出100~200之间所有的整数,再剔除非素数的数
因为有个条件是除 1 以外,所以第二次循环直接从 2 开始。如果循环过程中出现了能被 n 整除的数就证明它不是素数直接跳出,没必要再继续循环了。当 i 和 n 相等且没有其他数能整除 i 时,就证明 i 是素数。
#include <stdio.h>
void main() {
int n;
for (int i = 100; i <= 200;i++) {//找出100~200之间的整数
for (n = 2; n <= i;n++) {//用i去掉除1和它本身能被整除的数
if (i % n == 0) break;
}
if (i == n) {
printf("素数:%d\n", i);
}
}
}
第二种方法:和上面的相差不大,主要差别就是 i+=2
这样找出来的都是偶数。偶数不可能是素数,也就是只对奇数进行判断,效率相比第一种方法也会增加。
void main() {
int n;
for (int i = 101; i <= 200; i += 2) {//偶数不可能是素数,效率更快
for (n = 2; n <= i; n++) {
if (i % n == 0) break;
}
if (i == n) {
printf("素数:%d\n", i);
}
}
}
第三种方法:相比第二种方法多了平方根函数,效率相比之下更快
sqrt():计算平方根,需要引入math.h头文件。平方根,如果参数为负,则返回不定值、
如果平方根能被整除说明 i 不是素数,相反没有整除的就说明 i 是素数
void main() {
int n;
for (int i = 101; i <= 200; i+=2) {
//sqrt:计算平方根
int sqrti = (int)sqrt(i);//用开平方后效率更高
for (n = 2; n <= i; n++) {
if (i % n == 0) break;
}
if (i == n) {
printf("素数:%d\n", i);
}
}
}
关于C语言中输出100~200之间的素数到这里就结束了!如果您有什么更好的建议或想法可以留在评论区
第一次学C语言如果有不好的地方请留在评论区或私信我也可以,以后有空的话也会经常发博客。谢谢支持!~
边栏推荐
- How the world's leading medical technology company maximizes design productivity | SOLIDWORKS Product Exploration
- double型数据转字符串后通过MCU串口发送
- g++参数说明
- window下VS2022封装动态库以及调用动态库
- ZEMAX | 如何创建简单的非序列系统
- 各种cms getshell技巧
- VS2022 encapsulation under Windows dynamic library and dynamic library calls
- A.1#【内存管理】——1.1.3 page: struct page
- ZEMAX | 如何倾斜和偏心序列光学元件
- Windos 内网渗透之Token的使用
猜你喜欢
自监督论文阅读笔记 Self-Supervised Deep Learning for Vehicle Detection in High-Resolution Satellite Imagery
影响PoE供电传输距离的除了网线还有啥?
ZEMAX | How to rotate any element around any point in space
A.1#【内存管理】——1.1.3 page: struct page
NIO知识汇总 收藏这一篇就够了!!!
深度学习基本概念
SolidWorks 操作视频 | 隐藏高手必备工具Defeature,让设计隐藏更彻底
二分查找5 - 第一个错误的版本
对象の使用
2021-04-30
随机推荐
softmax和最大熵
ZEMAX | 如何使用ZOS-API创建自定义操作数
全球一流医疗技术公司如何最大程度提高设计工作效率 | SOLIDWORKS 产品探索
2021-04-23
什么是参数化设计,通过实操了解一下? | SOLIDWORKS 操作视频
ARMv8 架构----armv8 类别
6. What is the difference between Vector, ArrayList and LinkedList?(design, performance, safety)
ASP.NET MVC3的伪静态实现
五、int和Integer有什么区别?
IPC 通信 - IPC
MATLAB给多组条形图添加误差棒
Typora
自监督论文阅读笔记 DenseCL:Dense Contrastive Learning for Self-Supervised Visual Pre-Training
ZEMAX | How to rotate any element around any point in space
003_旭日X3派初探:利用无线串口通信控制舵机
ZEMAX | 如何围绕空间中的任何点旋转任何元素
AI智能剪辑,仅需2秒一键提取精彩片段
BurpSuite 进阶玩法
Qemu 搭建Armv8 平台
各种cms getshell技巧