成都网站建设设计

将想法与焦点和您一起共享

c语言递归函数素数程序 c语言递归算法经典实例

编写一个C语言程序判断一个数是否是素数

目的:判断一个数是否为素数

创新互联是一家业务范围包括IDC托管业务,雅安服务器托管、主机租用、主机托管,四川、重庆、广东电信服务器租用,温江服务器租用,成都网通服务器托管,成都服务器租用,业务范围遍及中国大陆、港澳台以及欧美等多个国家及地区的互联网数据服务公司。

# include stdio.h

int main(void)

{

int m;

int i;

scanf("%d",m);

for(i = 2; i  m; 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,不满足i  m跳出for循环,这时i = m。

扩展资料:

素数定理:

1、在一个大于1的数a和它的2倍之间(即区间(a, 2a]中)必存在至少一个素数。

2、存在任意长度的素数等差数列。

3、一个偶数可以写成两个合数之和,其中每一个合数都最多只有9个质因数。(挪威数学家布朗,1920年)。

4、一个偶数必定可以写成一个质数加上一个合成数,其中合数的因子个数有上界。(瑞尼,1948年)。

5、一个偶数必定可以写成一个质数加上一个最多由5个因子所组成的合成数。后来,有人简称这结果为 (1 + 5)(中国潘承洞,1968年)。

6、一个充分大偶数必定可以写成一个素数加上一个最多由2个质因子所组成的合成数。简称为 (1 + 2)。

参考资料来源:百度百科-质数

C语言用递归的方法来判断某个数是不是素数

void fun(int m)

{

static int k=(int)sqrt((double)m);

if(k 2)

{

printf("该数字是素数。\n");

return ;

}

if(m%k==0)

{

printf("该数字不是素数。\n");

return ;

}

k--;

fun(m);

}

c语言编程题 要求用递归函数法判断是否为素数

#includestdio.h

int su(int n,int m)

{

if(m==1||m==0)return 0;

if(n%m==0)return 1;

else return su(n,m-1);

}

int main()

{

int n,k,m;

scanf("%d",n);

m=n-1;

k=su(n,m);

if(k==0)printf("这是素数.");

else printf("这不是素数.");

}

我在VC++编译过了,没问题。

递归法判断一个数是否为素数的C语言程序

#includestdio.h

#includemath.h

void main()

{

int m,n,x,i,j=0,temp;

int a,b;

printf("Input two nums:\n");

scanf("%d,%d",m,n);

a=(mn)?n:m;

b=mn?m:n;//调整mn的大小顺序

for(x=a;x=b;x++)

{

temp=(int)sqrt(x);

for(i=2;i=temp;i++)

if(!(x%i)) break;//有合数跳出本次循环

if (itemp)

{

printf("%d ",x);

j++;

if(!(j%5)) printf("\n"); //格式,每找到5个换行

}

}

getch();

}


分享标题:c语言递归函数素数程序 c语言递归算法经典实例
本文URL:http://chengdu.cdxwcx.cn/article/ddgiocj.html