求100以内的全部素数,每行输出10个。要求定义和调用函数prime(m)判断 m是否为素数,

当m为素数时返回1,否则返回0。请完善(程序中的三个空)程序并分析运行结果。

#include <stdio.h>

#include <math.h>

int prime(int m)

{

int i,n;

if(m==1) return 0;

n=sqrt(m);

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

if(m%i==0) ① ;

return 1;

}

void main()

{

int count=0,m;

for(m=2; ② ;m++)

{

if(prime(m) ③ 0)

{

printf("%6d",m);

count++;

if(count%10==0) printf("\n");

}

}

}

#include <stdio.h>

#include <math.h>

int prime(int m)

{ int i,n;

if(m==1) return 0;

n=sqrt(m);

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

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

return 1;

}

void main()

{ int count=0,m;

for(m=2;m<100; m++)

{ if(prime(m)!=0)

{ printf("%6d",m);

count++;

if(count%10==0) printf("\n");

}

}

}

扩展资料:

质数的个数是无穷的。欧几里得的《几何原本》中有一个经典的证明。它使用了证明常用的方法:反证法。

如果 为合数,因为任何一个合数都可以分解为几个素数的积;而N和N+1的最大公约数是1,所以不可能被p1,p2,……,pn整除,所以该合数分解得到的素因数肯定不在假设的素数集合中。因此无论该数是素数还是合数,都意味着在假设的有限个素数之外还存在着其他素数。所以原先的假设不成立。也就是说,素数有无穷多个。

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-05-08

#include <stdio.h>

#include <math.h>

int prime(int m)

{ int i,n;

  if(m==1) return 0;

  n=sqrt(m);

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

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

  return 1;

}

void main()

{ int count=0,m;

  for(m=2;m<100; m++)

  { if(prime(m)!=0)

    { printf("%6d",m);

      count++;

      if(count%10==0) printf("\n");

    }

  }

}

本回答被网友采纳
第2个回答  2020-05-07
只会用java写,这个比较容易,建议你好好想想