哈喽大家好,我是保护小周ღ,本期为大家带来的是编程实现输入一个数判断他是否为素数,博主将使用2种方法解答此题,一起来看看有没有大家平时使用的方法啊~

题目:

从键盘输入一个整数,判断该数是否素数。素数是只能被1 和本身整除的数。

博主在这里分享两种方法

第一种是比较常用的穷举法。

第二种使用sqrt()函数;取平方根,判断至平方根即可。

废话少说直接上代码:


穷举法

使用穷举法来判断一个数是否是素数,即将该整数依次除以2、3、……n-1,
如果全部不能被整除,即为素数,如果被其中任何一个整除,则不为素数。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>int main()
{int m = 0;printf("请输入一个整数,判断它是否为质数:\n");while (scanf("%d", &m) != EOF){int i = 0;//遍历所以的可能性for (i = 2; i <m; ++i){if (m % i == 0)//如果该数m整除了,则说明该数不是素数{break;//中止循环}}//最后如果循环不是被break;中止的,执行++i,后i==m;if (i==m){printf("This is a prime number!\n");}else{printf("This is not a prime number!\n");}}return 0;
}


判断至平方根:

所谓素数就是只能被1和其本身所整除的数。当进行质数判断的时候不需要判断到全部的数字,只需要判断到平方根就可以了。

判断一个数m是否为素数的算法:

  1. 令n=m开二次方向下取整
  2. 循环检查从2开始到n的每一个数字是否能整除m,如果能,终止循环,返回m非素数
  3. 循环结束,m是为素数

关于开二次方啊,就设计到一个知识点,咱们要使用 math.h 库里面的一个数学函数sqrt();专门开平方用的。#include<mathh> 开头声明一下。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>//数学函数都在这个头文件里int main()
{int m=0;printf("请输入一个整型数字判断是否为素数:\n");while (scanf("%d", &m)!=EOF){int k = sqrt(m);//将m开方的值给k存储int i = 0;for (i = 2; i <= k; i++)//判断至平方根{if (m % i == 0)break;}if ((i >k) && m != 1 && m != 0)//0,1是两个特殊用例,暴力破解printf("%d is a prime number\n", m);elseprintf("%d is not a prime number:\n", m);}return 0;
}


感兴趣的朋友可以用博主的方法,或者是自己的方法做做这道题,优化一下代码,尝试怎样判断某一个区间内的素数,并将他们都输出来。

分享一个牛客网上类似的题目,大家也可以尝试着做一做。

链接:区间素数__牛客网

本期收录于博主的专栏——每日一题,适用于编程初学者,有兴趣的朋友们可以订阅,查看其它“精彩小题”。每日一题_保护小周ღ的博客-CSDN博客

感谢每一个观看本篇文章的朋友,更多精彩敬请期待:保护小周ღ  *★,°*:.☆( ̄▽ ̄)/$:*.°★* 

如有侵权请联系修改删除!

每日一题——判断素数相关推荐

  1. 每日一题——孪生素数对(教你如何高效判断素数,判断素数的全部方法)

    学习目标: 每天睡前是否感到浑浑噩噩,一天又在不知不觉中过去,回想我今天都干了什么呢? 啊~我这一天又什么也没干,好有罪恶感啊,不行,我明天一定要好好学算法(手动狗头). 明日复明日,明日何其多?不要 ...

  2. LeetCode每日一题——1812. 判断国际象棋棋盘中一个格子的颜色

    LeetCode每日一题系列 题目:1812. 判断国际象棋棋盘中一个格子的颜色 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个坐标 coordinates ...

  3. http://39.98.219.132 题库标准答案(题库序号:179)之判断素数

    序号:179 判断素数 Time Limit:1s Memory Limit:512MB 题目描述: 判断给定的正整数是否为素数,是则输出yes,否则输出no. 说明:素数又叫质数,质数是指在大于1的 ...

  4. python每日一题公众号_python每日一题总结4

    20180609 qzd 每日一题14 输入三个整数x,y,z,请把这三个数由小到大输出. my code x=int(input('x:')) y=int(input('y:')) z=int(in ...

  5. [每日一题]0:每日一题汇总

    每日一题 锻炼编程能力,每日尽量至少更新一道算法编程题,博客内主要更新学习C/C++.以及Linux的相关知识点,希望在记录学习过程的同时也能方便遇到相同问题的人,方便回顾复习,也希望能够与大家一起交 ...

  6. 2022-04-27每日刷题打卡

    2022-04-27每日刷题打卡 代码源--每日一题 素数之欢 - 题目 - Daimayuan Online Judge 现给定两个 四位素数 a,b. 你可以执行多次下面的操作: 修改数字 a 的 ...

  7. [每日一题] 0. 每日一题题解汇总

    每日一题 锻炼编程能力,每日尽量至少更新一道算法编程题,其各题目代码已经同步到我的GitHub的Everyday_Coding仓库中:Y-puyu的GitHub仓库,博客内主要更新学习C/C++.Li ...

  8. 对数函数定义域和值域_呆哥数学每日一题 —— 复合函数值域

    如果想要获取往期每日一题电子版,可以加我微信:daigemath366,备注:知乎 每日一题 呆哥解析:这是一个函数和复合函数的综合问题 首先我们先把原函数的值域求出来 先直接求导: 导数不容易判断单 ...

  9. 每日一题(字符串拆分)

    前言:为了让小伙伴更方便的学习编程语言,小白每天都会分享一道编程题.小白也创建了一个微信公众号,会同步更新题目和相关的视觉领域的知识,如果小伙伴不方便在网页上阅读文章,可以关注微信公众号"小 ...

最新文章

  1. php数据库html文本,关于php,mysql,html的数字分页和文本_php
  2. 实战篇:一个核心系统 3 万多行代码的重构之旅
  3. Docker安全性支持(使用Cgroups机制实现容器资源控制)
  4. 苹果笔记本只有电源键能用的解决办法
  5. 什么笔记本电脑好_买个什么价格的笔记本电脑好,如何选购笔记本电脑
  6. 第四届泉水文化论坛协调会-商协社团:平台经济谋定水产业
  7. C语言十进制数转换为八进制(附完整源码)
  8. 从零点五开始用Unity做半个2D战棋小游戏(七)
  9. 判断页面关闭的方法 UNLOAD/onbeforeunload
  10. 0网卡开启_中标麒麟Linux v7系统下设置双网卡bond或team绑定详细过程
  11. 高地址和低地址、高字节低字节、大小端模式的转换,存储顺序
  12. 爱快助力元气森林随时随地高效办公
  13. python t t_Python ttable包_程序模块 - PyPI - Python中文网
  14. Mr.J--C语言学习Errors:LNK2019
  15. WOOTConf 2017:Lockpicking,Willie Nelson开发人员等等
  16. 《像计算机科学家一样思考Python》——4.4 封装
  17. 2017年全球ETF发展报告
  18. 微信小程序获取Appsecret报错40125“invalid appsecret”
  19. 计算机软件著作权可以查询他人的源代码和申请材料吗?
  20. java vcard格式_使用Cardme Java创建VCard

热门文章

  1. Steam自建游戏服务器配置
  2. 斩获微软offer后,我总结出这10个面试必备技巧(五星干货)
  3. omf多路径 oracle_OMF下Restore Oracle Datafile的优先级问题
  4. bzoj 4417: [Shoi2013]超级跳马
  5. isFinite函数
  6. android+nfc+公交卡,Android NFC 读取公交卡信息Demo
  7. win7触摸板怎么关闭_笔记本连接鼠标后自动关闭触摸板功能的方法
  8. ValueError: Object arrays cannot be loaded when allow_pickle=False 异常的多种处理方式
  9. Shell if 条件判断
  10. 几本关于斯多葛主义 (Stoicism) 的书