用C语言或C++编写程序实现“输出从1到100之间的所有素数”!!!

如题。请教各位。
2024-12-21 14:39:53
推荐回答(5个)
回答1:

建议你从网上下个Win-TC, 它的帮助程序中有例题...

题目:判断101-200之间有多少个素数,并输出所有素数。
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
则表明此数不是素数,反之是素数。
2.程序源代码:
#include "stdio.h"
#include "conio.h"
#include "math.h"
main()
{
int m,i,k,h=0,leap=1;
printf("\n");
for(m=101;m<=200;m++)
{
k=sqrt(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);
getch();
}

回答2:

#include
main(){
int i,j;
for(i=1;i<=100;i++){
for(j=1;j<=i;j++){
if(i%j==0&&j!=1&&i!=j){
break;
}
if(i==1||j==i-1){
printf("%d\n",i);
}
}
}
}

回答3:

#include
#include
using namespace std;
bool isPrime(int x){
for (int i=3;i<=sqrt(x);i+=2)
if (x%i==0) return false;
return true;
}
int main()
{
cout<<2< for (int i=3;i<100;i+=2){
if (isPrime(i))
cout< }
}

回答4:

#include
#include

int main()
{
int i,j;
bool b;

for (i=1; i<=100; i++)
{
if (i==1) continue;
if (i==2)
{
cout<<"2";
continue;
}
b=true;
if (i%2==0) continue;
for (j=3; jif (i%j==0)
{
b=false;
break;
}
if(b) cout<<", "<}
cout<return(0);
}

回答5:

//---------------------------------------------------------------------------
#include

int
main(void)
{
int
a[100],i,j;
for
(i
=
0;
i<100;
i++)
a[i]=i+1;
for
(i=1;
i<100;
i++)
for
(j=i+1;
j<100;
j++)
if
(a[i]&&a[j]%a[i]==0)
a[j]=0;
for
(i
=
1;
i<100;
i++)
if
(a[i])
printf("%d\t",a[i]);
return
0;
}
//---------------------------------------------------------------------------