当前位置: 代码迷 >> C语言 >> 求完整的求素数的程序
  详细解决方案

求完整的求素数的程序

热度:214   发布时间:2007-04-03 19:56:11.0
求完整的求素数的程序

哪位高手指点下:求100-200之间素数.完整的程序怎么写?
谢谢

搜索更多相关的解决方案: 素数  

----------------解决方案--------------------------------------------------------

main()
{
int i,j,k;
int h=0;
for(i=100;i<=200;i++)
{
k=1;
for(j=2;j<i;j++)
if(i%j==0)
k=0;
if(k)
{
printf("%6d",i);
h++;
if(h%5==0)
printf("\n");
}
printf("\n");
}

[此贴子已经被作者于2007-4-3 21:48:18编辑过]


----------------解决方案--------------------------------------------------------

c程序设计书上好象都有啊
程序头部添加#include"math.h"调用函数 sqrt()求平方根就行


----------------解决方案--------------------------------------------------------

#include<stdio.h>
#include<math.h>
void main()
{
int i,counter=0;
int m;

for(i=100;i<=200;i++)
{
m=2;

while(i%m!=0 && m<=i)
m++;
if(m--==i)
{
printf("%d ",i);
counter++;
}
}
printf("\n共有%d个素数\n",counter--);
}


----------------解决方案--------------------------------------------------------

#include <math.h>
#include <stdio.h>
int prime (int n)
{
int i,temp;
temp=sqrt(n);
for (i=2;i<=temp;i++)
if (n%i==0) return 0;
return 1;
}

main()
{int m;
for(m=100;m<=200;m++)
if(prime(m)) printf("%d is a prime\n",m);
getch();
}


----------------解决方案--------------------------------------------------------
谢谢大家。。。
----------------解决方案--------------------------------------------------------
你好applegrape02向你提个意见:
printf("\n共有%d个素数\n",counter--);

printf("\n共有%d个素数\n",counter);就可以了

----------------解决方案--------------------------------------------------------
回复:(ibiancheng)求完整的求素数的程序
//求100-200之间的所有素数
#include<stdio.h>
void main()
{
int i,j,n=0;
int flag=0;
for(i=100;i<=200;i++)
{
for(j=2;j<i;j++)
{
if(i%j==0)
{
flag=1;
break;
}
}
if(flag==0)
{
printf("%d\t",i);
n++;
if(n%5==0) //控制每行输出的素数
{
printf("\n");
}
}
else
{
flag=0;
}
}
printf("\n");
}
----------------解决方案--------------------------------------------------------

可以先写一个判断素数的函数

BOOL IsPrime(int n);


----------------解决方案--------------------------------------------------------
  相关解决方案