哪位高手指点下:求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);就可以了
----------------解决方案--------------------------------------------------------
#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);
----------------解决方案--------------------------------------------------------