用C语言输出质数的函数 c语言输出一个数的质因数

C语言程序 输出1000以内的所有质数,每5个换一行

可以参考下面的代码:

成都创新互联公司是工信部颁发资质IDC服务器商,为用户提供优质的服务器托管服务

#include stdio.h

#include math.h

int is_prime(int n)

{

int i;

for(i = 2; i = sqrt(n); i ++)

if(n%i == 0) return 0;

return 1;

}

int main()

{

int i,n=0;

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

{

if(is_prime(i))

{

printf("%d ",i);

n++;

if(n%5==0)printf("\n");

}

}

}

扩展资料:

C语言参考函数:

double pow(double x,double y) 返回x^y的值

double pow10(int p) 返回10^p的值

double sqrt(double x) 返回+√x的值

C语言isupper()函数:判断一个字符是否是大写字母

C语言isspace()函数:判断一个字符是否是空白符

C语言isprint()函数:判断一个字符是否是可打印字符

参考资料来源:百度百科-C语言函数

C语言求1到n所有质数

#includestdio.h

int main()

{ int i,j,n,m;

scanf("%d",n);

for(m=0;n;n/=10)m=m*10+n%10;

if(m1)printf("2 ");

for(i=3; i=m; i+=2)

{ for(j=3;j*j=i;j+=2)

  if(i%j==0)j=i;

if(j*ji)printf("%d ",i);

}

return 0;

}

输出100以内的质数,用c语言编写

#includestdio.h

int main()

{

int i,j;

int count=0;

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

{

for(j=2;j=i/2;j++)

if(i%j==0)//如果i能被j整除  就不是质数  退出循环

break;

if(ji/2)

{

count++;

printf("%-3d",i);

if(count%5==0)//当每一行有5个数时  换行

printf("\n");

}

}

return 0;

}

for(j=2;j=i/2;j++)中的 j=i/2是表示  从j=2开始遍历到j=i/2  看看2~i/2中能否整除i

如果都不能  说明i是质数(也就是ji/2)

如果有1个及以上能整除i  说明i不是质数

for()

{

}

//for循环结束之后  j的值是大于i/2的  因为for循环的条件是:j=i/2

//因此  当ji/2时  for循环结束

if(ji/2)

这里当且仅当2~i/2都不能整除i时   也就是ji/2  才说明i是质数

参考资料

输出100以内的质数,用c语言如何编写?.百度知道[引用时间2017-12-25]

C语言如何实现质数输出

代码如下:

/*

* 输出 1~20 之间的质数

*/

#include stdio.h

#include math.h

//判断一整数是否为质数

int isprime(int n)

{

int i;

int up;

int ret = 1;

up = sqrt(n);

for (i=2; i=up; i++) {

if (n%i==0) {

ret = 0;

break;

}

}

return ret;

}

//主函数

int main()

{

int n;

printf("1~20 之间的质数有:");

for (n=2; n20; n++) {

if (isprime(n))

printf("%d ", n);

}

printf("\n");

return 0;

}

运行程序,输出如下:

1~20 之间的质数有:2 3 5 7 11 13 17 19


文章题目:用C语言输出质数的函数 c语言输出一个数的质因数
文章起源:http://hbruida.cn/article/ddehpde.html