素数定义:只能分解成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判断素数原理的理解相关推荐

  1. java 语言如何判断素数_C语言实验之判断素数(循环结构java)方法讲解

    C语言实验之判断素数(循环结构java)方法讲解 Problem Description 从键盘上输入任意一个正整数,然后判断该数是否为素数. 如果是素数则输出"This is a prim ...

  2. C语言循环结构素数判断,C语言实验之判断素数(循环结构java)方法讲解

    C语言实验之判断素数(循环结构java)方法讲解 Problem Description 从键盘上输入任意一个正整数,然后判断该数是否为素数. 如果是素数则输出"This is a prim ...

  3. C语言编写的判断素数的程序

    下面是一个用C语言编写的判断素数的程序: 复制#include <stdio.h>int main() {int n;printf("请输入一个数字:");scanf( ...

  4. c语言用伪代码判断素数,素数的伪代码怎么写

    1. c语言中如何求素数 思路:所谓素数是指只能被1和自身整除的数叫作素数,判断素数就可以从2到该数减一依次判断能否整除该数,如果能则不是素数,否则就是素数. 参考代码: #include int i ...

  5. C语言if语句判断素数,利用简单的if语句判断素数

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 判断素数这个问题是c语言条件,循环中最简单的一个问题 下面就来介绍一下判断素数的代码吧 #include "s ...

  6. 厦大C语言上机 1488 判断素数

    1488.判断素数 时间限制: 1000 MS          内存限制: 65536 K          提交数: 1203 (0 users)          通过数: 276 (265 u ...

  7. C语言——球体体积判断素数用递归计算Fibonacci数列

    1.编写求圆球体体积的函数(体积V=4/3*π*R3),在主函数里输入球体半径R(使用Scanf()函数通过键盘输入)并调用该函数显示当R=3时球体体积. #include<stdio.h> ...

  8. C语言:开平方判断素数

    输入格式: 输入在第一行给出一个正整数N(<=10),随后N行,每行给出一个小于231的需要判断的正整数. 输出格式: 对每个需要判断的正整数,如果它是素数,则在一行中输出"Yes&q ...

  9. 运用c语言编写程序:判断素数的多种方法

    素数是一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数:判断一个数是不是素数只需让2-这个数本身减一的所有数进行相除,如果没有一个数能把这个数本身整出,这个数就是素数. 设判断X; 所以 ...

最新文章

  1. MySLQ排序后标记排行
  2. -Wl,-rpath=
  3. 计算营业额python_用python教你计算定投能获得多少收益
  4. 从web编辑器 UEditor 中单独提取图片上传,包含多图片单图片上传以及在线涂鸦功能...
  5. 小红伞和NOD32基于源码的免杀经验总结
  6. 解决Maven工程install时[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources
  7. JAVA几何图注水,如何使用java绘制几何形状到图片?
  8. python抓包教程_Python Charles抓包配置实现流程图解
  9. sql中的两个简单嵌套
  10. Andorid11 暗码启动应用(一)
  11. IDEA反编译java.class文件
  12. spring-boot-starter-data-elasticsearch 中测试查询语句报错failed to map source
  13. Ubuntu搭建socks5服务
  14. Flutter 自定义实现时间轴、侧边进度条
  15. SpringBoot-logback配置输出Json格式日志
  16. 微信电话显示对方忙是为什么 微信电话显示对方忙是什么意思
  17. git使用meld的方法
  18. unsupported format character Y (0x59) at index 167
  19. android 解锁图案,Android开发中的图案解锁
  20. 科技爱好者周刊:第 73 期

热门文章

  1. 局域网如何防止未知的终端接入
  2. 完成Superset 0.28的汉化工作(权限部分除外)
  3. 区块链分析中的去匿名化问题
  4. 抖音直播带货没流量?如何解决抖音直播间不进人问题?
  5. Kanye West和软件开发有什么共同点……
  6. (一)前端工程化与Webpack
  7. 若依微服务版(ruoyi-cloud)使用记录
  8. 学习MySql第二天
  9. Matlab保存图像的5种方法
  10. Matlab图像处理——保存图像方法大全