质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。

换句话来说就是除只有能够被1和它本身整除的数才是质数。(1既不是质数也不是合数)

分析:如何判断一个数是否能被除了1和它本身之外的数整除,判断标准就是从1到这个数之间如果能找到能够被整除的数,那它肯定不是质数。如果找不到的话那它一定是质数。

直接上代码。

#include <stdio.h>
#include <math.h>
int val(int a){int i;for (i=2; i<=a-1; i++) {if (a%i==0) {break;}}if (i==a) {printf("%d是素数\n",a);}else{printf("%d不是素数\n",a);}return 0;
}
int main(void){int v;printf("plz input the number:\n");scanf("%d",&v);if (1==v) {printf("%d既不是素数也不是合数.\n",v);} else {val(v);}
}

这里使用到了用户自定义函数,这个自定义函数的精彩之处就是for循环当中的if条件句,把用户输入数字n从2一直除到n-1,如果存在整除的情况,用break语句跳出循环。之后判断这里的除数与被除数是否相等(这里是整除的情况,说明是质数,那数字n与i一定不相等),不相等的话那就不是质数。
如果用户输入的数字n是质数,那么从2到n-1之间都不会有数字能够被整除,循环变量一直循环到i=n时,循环条件i<=n-1,不再成立,此时循环变量与用户输入数字n相等,即输出用户输入的n为质数。
算法设计的非常巧妙。

若要将用户自定义函数设置成返回值为bool值类型的话,需要添加新的头文件<stdbool.h>. 代码如下:

#include <stdio.h>
#include <math.h>
#include <stdbool.h>bool IsVal(int a){int i;for (i=2; i<=a-1; i++) {if (a%i==0) {break;}}if (i==a) {return true;}else{return false;}
}int main(void){int v;printf("plz input the number:\n");scanf("%d",&v);if (1==v) {printf("%d既不是素数也不是合数\n",v);} else if(IsVal(v)){printf("%d是素数\n",v);} else {printf("%d不是素数\n",v);}
}

用c语言判断一个数是否是素数(质数)相关推荐

  1. C++语言判断一个数是否为素数1/2

    C++语言判断一个数是否为素数 1.运行程序,输入参数,结果如下. 2.部分源代码 1.运行程序,输入参数,结果如下. 输入6,判断为不是素数. 输入7,判断为是素数. 2.部分源代码 #includ ...

  2. C语言:判断一个数是否为素数/质数

    素数/质数的概念:一个的自然数,除了1和它自身外,不能被其他自然数整除的数叫素数,否则成为合数. 0和1既不是素数也不是合数,最小的素数是2. 方法1:从2到n - 1判断有没有能整除n的数.如果有, ...

  3. java质数判断程序_java判断一个数是否为素数/质数

    质数(prime number)又称素数,定义为一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数. 第一个思路 假如我们需要判断数字是33 ...

  4. 用 js判断 一个数是否是素数(质数)_人教版五年级数学下册第2单元质数和合数(P14)图文讲解...

    点击上方"学问林",选择"置顶公众号" 学问林致力于孩子的现代化学习与未来化发展 数学在线学习平台|传播前沿教育理念丨助力教师专业成长 走进千家万户的热文 ho ...

  5. 用JAVA判断一个数是否为素数(质数)

    素数(prime number)又称质数,有无限个.质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数. 有时经常遇到用java判断素数的问题,为大家贴上怎么用java判断出一 ...

  6. C语言判断一个数是否为素数(质数),C语言经典例题计算素数,C语言二级重点

    素数又称质数.所谓素数是指除了 1 和它本身以外,不能被任何整数整除的数,例如29就是素数,因为它不能被 2~28 的任一整数整除. (思路1):因此判断一个整数m是否是素数,只需把 m 被 2 ~ ...

  7. 超级详细用C语言判断一个数是否是素数

    先上代码: #include <stdio.h> int main() {         int n,i;     printf("请输入一个数: ");     s ...

  8. C语言 判断一个数是否为素数

    除了1和它本身以外,不能被任何整数整除的数,就称为素数,例如17就是素数,因为它不能被2-16的任一整数整除 m能被2~m-1之间任一整数整除,其两个因子必有一个小于或者等于√m,另一个大于或者等于√ ...

  9. C语言判断一个数为超级素数,一个超级素数问题,时间限制是1秒钟,下面是题,哪位大触帮帮忙...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 求素数的函数我可以提供,但是超级素数无能为力啊 #include long long a[10000000]; int main() { a[0]=0; ...

  10. 用 js判断 一个数是否是素数(质数)_2020-09-20:如何判断一个数是质数?

    福哥答案2020-09-20:#福大大架构师每日一题# 1.试除法.朴素素数筛,埃氏筛,欧拉筛和区间筛.代码采用朴素素数筛. 2.费尔马素性测试法法.费马小定理:假如p是质数,a是整数,且a.p互质, ...

最新文章

  1. 你说,一个Java字符串到底有多少个字符?
  2. Java实现上传文件到指定服务器指定目录
  3. 高人对libsvm的经典总结(全面至极)
  4. UVA 11825 状态压缩DP+子集思想
  5. linux系统怎么访问u盘文件系统,linux如何挂载U盘和文件系统
  6. STM32工作笔记0075---UCOSIII任务管理(下)
  7. 2012-2013年度大总结
  8. python2.0迅雷下载_【Tomato DualWan】迅雷离线下载完美教程
  9. Luckysheet将excel导入生成对应的格式文件静态方法
  10. oracle erp fnd api,Sample of API FND_PROFILE (转)
  11. SLAM14讲学习笔记(一) 李群李代数基础
  12. New setting keys are not allowed; use getters/setters in relevant manager class [NoSettingsProvider]
  13. nginx-http重定向到https配置
  14. 都说建议新手用3Dmax,那到底学好3Dmax要多久呢?
  15. 卡片左右滑动 带动任务条滑动 vue
  16. ubuntu查看usb和连接手机usb共享热点
  17. 打靶法c语言程序,打靶法求解一维Schrodinger方程程序示例
  18. Golang使用qrcode生成二维码,以及生成带logo的二维码
  19. 解决Git下载速度慢、需要授权等问题
  20. php跨域header处理

热门文章

  1. 查询中接受的主体参数
  2. IPv4和IPv6、局域网和广域网、网关、公网IP和私有IP、IP地址、子网掩码、网段、网络号、主机号、网络地址、主机地址以及ip段/数字-如192.168.0.1/24是什么意思?
  3. 如何利用Matlab对指定条件下的excel单元格填充颜色
  4. 网络中使用最多的图片格式有哪些
  5. 【冷门快捷键】设置VSCode终端大小最小化快捷键Alt+PageUp/PageDown、编辑代码窗口切换大小快捷键Alt+数字键盘“+”、Alt+数字键盘“-”、Alt+数字键盘“0”
  6. Python批量 png转ico
  7. 石墨烯和富勒烯的区别?-供应石墨烯微片粉末/单层的多孔石墨烯前驱物/三维石墨烯网络结构复合材料块体定制
  8. mybatisplus代码生成器构建项目以及lambd链式编程
  9. java新手怎么用if alse_关于java:为什么“F”+“alse”不是==“False”?
  10. iphone手机微信聊天记录恢复办法