c语言自定函数素数 c语言判断素数条件

用C语言编写一个自定义函数m,判断m是否为素数吗?

#include stdio.h

成都创新互联从2013年开始,先为芗城等服务建站,芗城等地企业,进行企业商务咨询服务。为芗城企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

#include math.h

//判断整数是否为素数

int isPrime(int n)

{

int i;

for(i=2;i=(int)sqrt(n);i++) //遍历从2~n的平方根向下取整

if(n%i == 0)  //如果有i能被n整除,则n不是素数,返回0,否则返回1

return 0;

return 1;

}

//编写测试主函数

int main()

{

int n;

scanf("%d",n);

if(n2)

{

printf("输入错误!\n");

return -1;

}

if(isPrime(n))  //调用素数判断函数

printf("%d is a prime number\n",n);

else

printf("%d is not a prime number\n",n);

return 0;

}

c语言,输出1-100之间的所有素数,运用自定义函数!用循环来写。

看代码:

#include stdio.h

#include math.h

// 判断是否是素数,是的话返回 1,不是返回 0

int is_prime(int num)

{

if (num  2)

{

return 0;

}

int i, tmp = (int)sqrt(num);

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

{

if (num % i == 0)

{

return 0;

}

}

return 1;

}

int main(int argc, char** argv)

{

int i;

printf ("1 ~ 100 的素数:\n");

for (i = 1; i = 100; ++i)

{

if (is_prime(i))

{

printf ("%d\n", 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语言编写自定义函数prime(int x),判断x是否为素数。

#include

"stdio.h"

#include

"math.h"//判断一个整数是否为素数

bool

prime(int

x)

{

int

i;

for(i=2;i=

sqrt(x);i++)

{

if(x%i==0)

return

false;

}

return

true;

} //判断一个整数(1位或多位)是否每一位都是素数

bool

allPrime(int

a)

{

if(prime(a%10))

//如果个位是素数

{

a=a/10;

return

allPrime(a);

}

else

return

false;

}//

打印出1-5000内满足题意的素数

void

printPrime()

{

int

i;

int

a=0;

for(

i=11;i5000;)

//

1-9

不用再判断了,只有一位。10和5000很明显也不用去判断了,不是素数

{

if(prime(i))

//

如果i是素数,判断个位是不是素数,如果个位不是,不满足第二个条件

{

if(prime(i%10))

//判断个位

{

a=i/10

;

//a就是去掉个位后的数

if(prime(a))

//判断a

是否是素数,如果是,再判断a每一位是否是素数

{

if(allPrime(a))

printf("%d\n",i);

} }

}

i+=2;

}

}int

main()

{

printPrime();

}

文章名称:c语言自定函数素数 c语言判断素数条件
分享网址:https://www.cdcxhl.com/article16/hpohdg.html

成都网站建设公司_创新互联,为您提供服务器托管全网营销推广微信公众号动态网站企业网站制作网站排名

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营