回 帖 发 新 帖 刷新版面

主题:怎样做一个从100到500的素数?

亲爱的朋友们叔叔们:
    你们好!请你们帮帮我吧!

回复列表 (共14个回复)

11 楼

用筛法比较快
#include <iostream.h>
#include <string.h>
void main ()
{
bool num[501];
int i,j;
memset(num,0,sizeof(bool));
for (i=2;i<=500;i++)
{
for (j=i+i;j<=500;j+=j)
{
num[j]=1;
}
}
for (i=0;i<=500;i++) if (num[i]==0) cout<<i<<endl;
}

12 楼

#include"iostream.h"
void main()
{
    int n,i,j;
    static int flag=0;
    for(n=100;n<=500;n++)
    {
        i=n/2;
        for(j=2;i<=i;j++)
            if(n%j==0)
            {
                break;
            }
            if(j>i)
            {
                cout<<n<<"是素数!";    
            flag++;
            if(flag%5==0)
            cout<<endl;
            }
    }

}
我来给个vc++的吧!
不过不是一行10个,而是5个!
呵呵!

13 楼

#include "math.h"
int main(void)
{
 int m,i,k,h=0,leap=1;
 for(m=101;m<=500;m+=2)
  { k=sqrt(m+1);        /*数学函数,求m+1的完全平方*/
   for(i=2;i<=k;i++)
     if(m%i==0)
      {leap=0;break;}
   if(leap) {printf("%-4d",m);h++;
        if(h%10==0)    /*输出时,十个数一行*/
        printf("\n");
        }
   leap=1;
  }
 printf("\nThe total is %d",h);
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册