本文目录一览:
- 1、用C语言如何判断素数?
- 2、C语言函数判断素数
- 3、C语言如何使用自定义函数判断素数?
- 4、c语言编程:设计一个函数用于判断一个数是否为素数,如果是素数返回1,否则返回0。
- 5、用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;//返回0,非素数
for(int i=2;i*i=x;i++)
if(x%i==0)
return 0;
return 1;//返回1,素数
}
int main()
{
int n;
scanf("%d",n);
if(fun(n)==1)
printf("%d是素数\n",n);
else
printf("%d不是素数\n",n);
return 0;
}
c语言编程:设计一个函数用于判断一个数是否为素数,如果是素数返回1,否则返回0。
源程序代码以及算法解释如下:
#define _CRT_SECURE_NO_WARNINGS
#includestdio.h
int Func(int m)//判断函数
{
int n = 2;
while (n = m (m%n))//判断是否能被其他数整除
n++;
if (m == n)
return 1;
else
return 0;
}
int main()
{
int M_num;//定义变量
printf("请输入需要判断的数:\n");//文字提示
scanf("%i", M_num);//循环输入数组元素
int i = Func(M_num);//判断是否是素数
if (i == 1)//输出结果
printf("输入的数是素数");
if (i == 0)
printf("输入的数不是素数");
printf("\n");
return 0;
}
程序运行结果如下:
扩展资料:
输出1-100之间的所有素数程序如下:
#includestdio.h
int PrimeNumer(int x) //定义一个函数判断
{
assert(x 0); //判断
int i; //被除数
for (i = 2; i x; i++)
{
if (x%i == 0)
{
return 0; //表示正常终止
}
}
return 1; //只是给主调函数一个标志,说明他的执行过程中遇到异常情况。 然后就返回主调函数来处理,继续执行。
}
int main()
{
int i,a;
int count = 0;
for (i = 2; i 101; i++)
{
if (PrimeNumer(i)) //调用函数来判断
{
count++; //加入了一个计数器
printf("%d\n", i);
}
}
printf("素数出现的次数%d", count);
system("pause");
return 0;
}
用c语言写一个判断数字是否是素数的函数
int isprime(int a)//判断素数的函数
{
int i;
for(i = 2; i a; i++)
if(a % i == 0)
break;
if(a == i)
return 1;
else
return 0;
}
int main(void)
{
int a;
if(isprime(a))
printf("%d是素数",a);
else
printf("不是素数");
printf("\n");
}