c语言关于sqrt判断素数原理的理解
素数定义:只能分解成1和本身两个因数
int n,i;
double s;
scanf("%d",&n);
(注意此处的s不能取int类型,否则单步调试它s的值会与n是偶数时相等容易引起混淆)
假设输入一个数36
s = sqrt(36) //s = 6;
for( i=2;i<=s;i++ )
{if( n%i==0 ){break;}
}
if( i>s )
printf("是素数");
else
printf("不是素数");
很显然程序第一步就会判定不是素数
因为36%2的值已经是0
我们暂时不看break语句
36%i也就是会i最多取到6这个数字
当i = 6时36%6 == 0;
i≯s
printf不是素数
我们再将36换成37试试看
s = sqrt(37) //计算器得出s≈6.083
可见s是大于6的
这时i可以从2开始取到7
37%1到6都不为0
此时i为6还要++变为7
i > s
则可以printf此数是素数
下列为程序示例:
#include<stdio.h>
#include<math.h>
int main()
{int n,i;double s;scanf("%d",&n);s = sqrt(n);for( i=2;i<=s;i++ ){if( n%i==0 ){break;}}if( i>s ){printf("是素数");}else{printf("不是素数");}return 0;
}
这里有很多新手不理解为什么i<n-1
回到素数的定义
也就是说n取余2到n-1中的所有数都不能为0.
如有错误,还请各位多加指正!
c语言关于sqrt判断素数原理的理解相关推荐
- java 语言如何判断素数_C语言实验之判断素数(循环结构java)方法讲解
C语言实验之判断素数(循环结构java)方法讲解 Problem Description 从键盘上输入任意一个正整数,然后判断该数是否为素数. 如果是素数则输出"This is a prim ...
- C语言循环结构素数判断,C语言实验之判断素数(循环结构java)方法讲解
C语言实验之判断素数(循环结构java)方法讲解 Problem Description 从键盘上输入任意一个正整数,然后判断该数是否为素数. 如果是素数则输出"This is a prim ...
- C语言编写的判断素数的程序
下面是一个用C语言编写的判断素数的程序: 复制#include <stdio.h>int main() {int n;printf("请输入一个数字:");scanf( ...
- c语言用伪代码判断素数,素数的伪代码怎么写
1. c语言中如何求素数 思路:所谓素数是指只能被1和自身整除的数叫作素数,判断素数就可以从2到该数减一依次判断能否整除该数,如果能则不是素数,否则就是素数. 参考代码: #include int i ...
- C语言if语句判断素数,利用简单的if语句判断素数
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 判断素数这个问题是c语言条件,循环中最简单的一个问题 下面就来介绍一下判断素数的代码吧 #include "s ...
- 厦大C语言上机 1488 判断素数
1488.判断素数 时间限制: 1000 MS 内存限制: 65536 K 提交数: 1203 (0 users) 通过数: 276 (265 u ...
- C语言——球体体积判断素数用递归计算Fibonacci数列
1.编写求圆球体体积的函数(体积V=4/3*π*R3),在主函数里输入球体半径R(使用Scanf()函数通过键盘输入)并调用该函数显示当R=3时球体体积. #include<stdio.h> ...
- C语言:开平方判断素数
输入格式: 输入在第一行给出一个正整数N(<=10),随后N行,每行给出一个小于231的需要判断的正整数. 输出格式: 对每个需要判断的正整数,如果它是素数,则在一行中输出"Yes&q ...
- 运用c语言编写程序:判断素数的多种方法
素数是一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数:判断一个数是不是素数只需让2-这个数本身减一的所有数进行相除,如果没有一个数能把这个数本身整出,这个数就是素数. 设判断X; 所以 ...
最新文章
- MySLQ排序后标记排行
- -Wl,-rpath=
- 计算营业额python_用python教你计算定投能获得多少收益
- 从web编辑器 UEditor 中单独提取图片上传,包含多图片单图片上传以及在线涂鸦功能...
- 小红伞和NOD32基于源码的免杀经验总结
- 解决Maven工程install时[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources
- JAVA几何图注水,如何使用java绘制几何形状到图片?
- python抓包教程_Python Charles抓包配置实现流程图解
- sql中的两个简单嵌套
- Andorid11 暗码启动应用(一)
- IDEA反编译java.class文件
- spring-boot-starter-data-elasticsearch 中测试查询语句报错failed to map source
- Ubuntu搭建socks5服务
- Flutter 自定义实现时间轴、侧边进度条
- SpringBoot-logback配置输出Json格式日志
- 微信电话显示对方忙是为什么 微信电话显示对方忙是什么意思
- git使用meld的方法
- unsupported format character Y (0x59) at index 167
- android 解锁图案,Android开发中的图案解锁
- 科技爱好者周刊:第 73 期