正文
c语言判断素数函数详解 c语言 判断素数
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
用C语言如何判断素数?
素数又称质数,所谓素数是指除了 1 和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被 2~16 的任一整数整除。
思路1、判断一个整数m是否是素数,只需把 m 被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么 m 就是一个素数。
思路2、判断方法还可以简化。
m 不必被2~m-1之间的每一个整数去除,只需被2~√m之间的每一个整数去除就可以了。如果 m 不能被2~√m 间任一整数整除,m必定是素数。例如判别17是是否为素数,只需使17被2~4之间的每一个整数去除,由于都不能整除,可以判定17是素数。
原因:因为如果m能被2~m-1之间任一整数整除,其二个因子必定有一个小于或等于√m,另一个大于或等于√m。
例如16能被2、4、8整除,16=2*8,2小于 4,8大于4,16=4*4,4=√16,因此只需判定在2~4之间有无因子即可。
两种思路的代码请看解析。
拓展资料:
素数(prime number)又称质数,有无限个。素数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。
C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
参考资料:
百度百科——素数
百度百科——C语言
C语言函数判断素数
#include stdio.h
#include math.h
int jugde(int x)
{
int i;
if(x 2)
return 0;
for(i = 2; i = sqrt(x); ++i)
if(x%i == 0)
return 0;
return 1;
}
int main()
{
int i;
for(i = 101; i 1000; i+=2)
if(jugde(i) == 1)
printf("%d ", i);
return 0;
}
C语言如何使用自定义函数判断素数?
#include stdio.h
int fun(int x)//
{
if(x2)
return 0;//返回0c语言判断素数函数详解,非素数
for(int i=2;i*i=x;i++)
if(x%i==0)
return 0;
return 1;//返回1c语言判断素数函数详解,素数
}
int main()
{
int n;
scanf("%d",n);
if(fun(n)==1)
printf("%d是素数\n",n);
else
printf("%d不是素数\n",n);
return 0;
}
C语言编程判断m是否为素数
1、首先需要打开visual C++ 6.0,接着在里面找到文件-新建-文件-C++ Source 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语言判断素数的函数程序:
经分析,以上代码使用flag的值来判断输入的n是否为素数,flag=1,n为素数;flag=0,n不是素数。完善if条件语句,第一个if,主函数中的if调用函数,需要填入一个参数,即prime(n);第二个if,是判断什么情况下flag=0,即输入的整数不为素数,即(n/i==0),余数为0,可以整除;最后返回flag的值,returnflag
但是经过运行可以知道,n=4的时候,程序判断4是素数,明显是错误的,n取0和1的时候同理,程序存在漏洞。分析得知,在定义函数的过程中,for循环条件语句,i=0,如果为负整数,另加判断条件,略)
c语言判断素数函数详解的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言 判断素数、c语言判断素数函数详解的信息别忘了在本站进行查找喔。