素数:

在写判断素数这段代码之前,我们首先要了解一个概念什么是素数?

素数,一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。(规定1既不是质数也不是合数)。


方法一:

通过概念,我们可以得到一些思路:

1.如果输入数字等于1或者小于1,不是素数

2.如果输入数字可以被2到它本身减1整除,不是素数。

代码:

int IsPrime(int n){if (n == 1 || n <1){      //输入数字<1或者=1,不是素数return 0;}for (int i = 2; i < n; i++){if (n%i == 0){   //输入数字可以被2到它本身减1整除,不是素数return 0;}}return 1;        //输入数字是素数
}

下面我们在主函数中调用IsPrime函数,输出100-200之间的素数。

代码:

#include <stdio.h>
int IsPrime(int n){if (n == 1 || n <1){ //输入数字<1或者=1,不是素数return 0;}for (int i = 2; i < n; i++){if (n%i == 0){//输入数字可以被2到它本身整除,不是素数return 0;}}return 1;//输入数字是素数
}
int main()
{int num = 0;for (num = 100; num <= 200; num++){if (IsPrime(num) == 1){printf("%d ", num);}}system("pause");return 0;}

结果:


方法二(改进):

判断方法还可以简化。n不必被 2~n-1之间的每一个整数去除,只需被 2 ~ √n之间的每一个整数去除就可以了。如果 n不能被 2 ~ √n间任一整数整除,n必定是素数。

原因:因为如果 n 能被 2 ~ n-1 之间任一整数整除,其二个因子必定有一个小于或等于√n ,另一个大于或等于 √n。

代码:

#include <stdio.h>
#include<math.h>
#include<stdlib.h>
int IsPrime(int n){if (n == 1 || n <1){ return 0;}for (int i = 2; i < sqrt(n*1.0); i++){if (n%i == 0){return 0;}}return 1;
}
int main()
{int num = 0;for (num = 100; num <= 200; num++){if (IsPrime(num) == 1){printf("%d ", num);}}system("pause");return 0;}

结果:


注意:

如果代码中输入的是sqrt(n)运行后可能会出现如下问题:

因为在C++中sqrt有三种类型,参数分别为long double,float,double。n定义的参数类型是int型,而sqrt()中应该试用double型或者float型,编译器不知道我们要使用哪一个sqrt类型。因此,我们要将sqrt(n)修改为sqrt(n*1.0)。

用函数实现判断素数(以及改进思路)相关推荐

  1. matlab 判断整除函数_判断素数函数

    描述 写一个函数isPrime(n)用于判断一个数字n是不是素数,用户输入一个正整数,在一行内输出不大于该数的所有素数,各数后面用一个空格分隔. 输入格式 输入一个正整数 输出格式 不大于该数的所有素 ...

  2. 编写一个判断素数的函数,并在主函数中调用该函数,以验证其正确性

    编程语言基础-C语言-第六章 函数-课后编程题6 分析: main():1.输入一个数  2.判断(如果 真  输出该数    如果  假   输出不是素数) 自定义函数:判断素数,返回1和0 素数: ...

  3. ACMNO.23 C语言-素数判定 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。 输入 一个数 输出 如果是素数输出prime 如果不是输出not prime

    题目描述 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息. 输入 一个数 输出 如果是素数输出prime 如果不是输出not prime 样例输入 97 样例输出 prime 来源/ ...

  4. 实验六 调用函数 判断素数

    在编写程序时 对调用函数格式模糊,还是不经常使用的结果, 在复习后,得出 1:所写函数头 要内外表示格式,且在定义函数时要在结束时 加":",而在调用时则不用. 2:所定义的函数返 ...

  5. python编写一个函数判断一个数是否为素数是则返回yes_编写函数isPrime,判断一个数字是否为素数,是则返回字符串 YES ,否则返回字符串 NO 。_学小易找答案...

    [填空题]语句 x = (3,) 执行后x的值为_______________. [填空题]字典对象的___________方法可以获取指定"键"对应的"值", ...

  6. python判断素数的函数_使用Python判断质数(素数)的简单方法讲解

    质数又称素数.指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数.素数在数论中有着很重要的地位.比1大但不是素数的数称为合数.1和0既非素数也非合数.质数是与合数相对立的两个概念 ...

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

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

  8. 定义函数:判断一个数是否为素数,并调用

    编写函数,判断一个数是否为素数,并写程序调用该函数. 下面展示一些. def isprime(n):for i in range(2,n):if(n%i==0):return 0return 1 m ...

  9. 写一个判断素数的函数(isprime),在主函数输入一个正整数,输出是否是素数的信息。提示:int main(){int x=23; if (isprime(x)) print

    写一个判断素数的函数(isprime),在主函数输入一个正整数,输出是否是素数的信息. 提示: int main() {int x=23; if (isprime(x)) printf("i ...

最新文章

  1. Eclipse IDE for Java EE Developers 与Eclipse Classic 区别
  2. php+html 实现加减乘除
  3. 用来表示python代码块的是什么_三分钟带你用简单的Python代码深入理解Python中的元类...
  4. 【opencv学习】【图像的阈值处理】
  5. oracle加密表空间,加密表空间
  6. 补习系列(20)-大话 WebSocket 与 尬聊的实现
  7. 华为Mate40系列后置摄像头模组曝光:三款机型各有不同
  8. android启动画面白屏,Android app启动时黑屏或者白屏的原因及解决办法
  9. 前端框架——Jquery——基础篇7__工具函数(Utils)
  10. ipc.Client: Retrying connect to server: h1/192.168.1.61:9000. Already tried 0 time(s);解决方法
  11. (一)Multisim安装与入门
  12. 在pycharm中使用pyqt5时clicked().后面connect不自动补全问题解决办法
  13. 实时视频通话超低延迟架构的思考与实践
  14. 原生JS实现各种运动之匀速运动
  15. GEE-Scholars MODIS地表温度LST时间变化趋势
  16. MATLAB交换图片红绿颜色通道,matlab的颜色映射colormap
  17. 网络安全基本属性和STRIDE
  18. Pinterest风潮席卷中国互联网-是否重蹈团购潮悲剧?
  19. 上海市职称计算机证明补办,职称证书丢了还能补办吗?上海落户政策详解。
  20. 外贸外链发布渠道有哪些?

热门文章

  1. python爬虫获取百度贴吧内容
  2. 2021年中国ERP软件市场现状发展与供应商发展分析
  3. 计算机毕业生城市分布情况,2018年中国各省份高考生数量、高校毕业生就业流入集中区及各省份毕业生数量分布情况分析【图】...
  4. Laravel 上传文件大小改为200M
  5. 云计算对电子商务行业的影响
  6. clips与C++的交互
  7. 一文搞懂SOLID原则(javascript)
  8. 央行:加强金融业网络安全和信息化统筹指导,筑牢金融网络安全屏障
  9. LoadRunner常见的报错-1
  10. “老百姓就是这么容易满足” ——王自健的脱口秀