如何编写一个C语言程序判断一个数是否是素数?思路1:
判断一个整数m是否是素数,只需把m被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么m就是一个素数 。代码如下:
#include stdio.h
int main(){
int a=0; // 素数的个数
int num=0; // 输入的整数
printf("输入一个整数:");
scanf("%d",num);
for(int i=2;inum;i){
if(num%i==0){
a; // 素数个数加1
}
}
if(a==0){
printf("%d是素数 。\n", num);
}else{
printf("%d不是素数 。\n", num);
}
return 0;
}
思路2:
另外判断方法还可以简化 。m不必被 2 ~ m-1 之间的每一个整数去除,只需被 2 ~ 之间的每一个整数去除就可以了 。如果m不能被 2 ~ 间任一整数整除 , m必定是素数 。例如判别17是是否为素数,只需使17被2~4之间的每一个整数去除 , 由于都不能整除,可以判定17是素数 。代码如下:
#include stdio.h
#include math.h
void main(){
int m; // 输入的整数
int i; // 循环次数
int k; // m 的平方根
printf("输入一个整数:");
scanf("%d",m);
// 求平方根 , 注意sqrt()的参数为 double 类型,这里要强制转换m的类型
k=(int)sqrt( (double)m );
for(i=2;i=k;i)
if(m%i==0)
break;
// 如果完成所有循环,那么m为素数
// 注意最后一次循环,会执行i,此时 i=k 1 , 所以有ik
if(ik)
printf("%d是素数 。\n",m);
else
printf("%d不是素数 。\n",m);
return 0;
}
编写一个C语言程序判断一个数是否是素数目的:判断一个数是否为素数
# include stdio.h
int main(void)
{
int m;
int i;
scanf("%d",m);
for(i = 2; im; i)//2到(m-1)的数去除m
{
if(m% i == 0)// 判断能否整除
break;
}
if (i == m)
printf("YES!\n");
else
printf("No!\n");
}
for循环的功能:
①若能整除,通过break跳出函数;
②若一直到m-1都不能整除,此时i再自增1到m,不满足im跳出for循环 , 这时i = m 。
【c语言函数编写素数判断 c语言程序设计函数判断素数】扩展资料:
素数定理:
1、在一个大于1的数a和它的2倍之间(即区间(a, 2a]中)必存在至少一个素数 。
2、存在任意长度的素数等差数列 。
3、一个偶数可以写成两个合数之和,其中每一个合数都最多只有9个质因数 。(挪威数学家布朗,1920年) 。
4、一个偶数必定可以写成一个质数加上一个合成数 , 其中合数的因子个数有上界 。(瑞尼,1948年) 。
5、一个偶数必定可以写成一个质数加上一个最多由5个因子所组成的合成数 。后来,有人简称这结果为 (15)(中国潘承洞,1968年) 。
6、一个充分大偶数必定可以写成一个素数加上一个最多由2个质因子所组成的合成数 。简称为 (12) 。
参考资料来源:百度百科-质数
用C语言的编程:利用调用函数,判断一个数是否是素数 。1、首先需要打开vs软件工程,准备好一个空白的C语言文件,引入头文件,主函数中暂时没有内容:
2、这里开始编写代码,这里判断素数需要用到平方根,所以要在头文件中引入math库,然后编写判断素数的函数,函数有唯一的参数n,代表素数 。判断的依据是素数n只要不能被 2 到根号下n之 间任一整数整除,则n必定是素数,最后在主函数中调用判断素数的函数即可:
3、最后,编译运行程序,在弹出的命令行中输入17这个素数,程序的打印结果是17是素数 , 证明了程序的正确性 。以上就是用C语言判断素数的流程:
C语言编程判断m是否为素数1、首先需要打开visual C6.0,接着在里面找到文件-新建-文件-CSource File选项 , 建设新文件 。
2、接着需要在新建的页面中输入预处理命令和主函数:
#includestdio.h/*函数头:输入输出头文件*/
void main()/*空类型:主函数*/
3、为使函数正常运行,需要再定义变量并输入一个数字 , 相关程序如下:
int m,i;/*定义变量的数据类型为整型*/
printf("输入一个数:");/*输出文字提示*/
scanf("%d",m);/*输入一个数字*/
4、随后需要使用for函数和if函数判断是否是素数,具体程序如下:
for(i=2;i=m;i)/*用for函数重复下面步骤*/
if(m%i==0)/*判断输入的数是否能被除1和本身以外的数整除*/
break;
if(im)/*判断i是否大于m*/
printf("%d 是素数\n",m);/*输出是素数*/
else
printf("%d 不是素数\n",m);/*输出不是素数*/
5、输入完整的源代码,运行以后,就会在运行界面中显示判断结果 。
#includestdio.h/*函数头:输入输出头文件*/
void main()/*空类型:主函数*/
{
int m,i;/*定义变量的数据类型为整型*/
printf("输入一个数:");/*输出文字提示*/
scanf("%d",m);/*输入一个数字*/
for(i=2;i=m;i)/*用for函数重复下面步骤*/
if(m%i==0)/*判断输入的数是否能被除1和本身以外的数整除*/
break;
if(im)/*判断i是否大于m*/
printf("%d 是素数\n",m);/*输出是素数*/
else
printf("%d 不是素数\n",m);/*输出不是素数*/
}
c语言函数编写素数判断的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于c语言程序设计函数判断素数、c语言函数编写素数判断的信息别忘了在本站进行查找喔 。
推荐阅读
- 华为nas什么cpu,华为nas什么时候上市的
- 制图软件免费下载,制图软件叫啥
- 为什么u盘存不了电脑截图,为什么u盘存不了电脑截图了
- 阿里云服务器绑定宝塔,宝塔安装阿里云ssl证书
- max函数python的简单介绍
- 如何新媒体编辑器,新媒体编辑怎么做
- 苹果ios14组件模板,ios145组件
- 台式电脑主机响是什么问题,台式主机很响
- vb.net钩子 vbnet ui