当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++进阶与实例

用穷举法找出1到100的质数幷显示出来

    用穷举法找出1到100的质数并显示出来。分别使用while、do-while、for循环语句实现。

 1.用while:

include<iostream.h>

void main()
{int i,j,n,m;
i=2;
while(i<101)
{m=1;n=i/2;j=2;
while(j<=n)
{ if(i%j==0)
{m=0;
breake;
}
j++;
}
if(m)
cout<<i<<"";
i++;
}
}

2.用do...while

#include<iostream.h>

void main()
{int i,j,n,m;
i=2;
do
{m=1;n=i/2;j=2;
do
{if(i%j==0)
{m=0;
breake;
}
j++;
}while(j<=n);
if(m)
cout<<i<<"";
i++;
}while(i<101);
}

3.用for
# include<iostream.h>
void main()
{int i,j,n,m;
for(i=2;i<101;i++)
{m=1;
n=i/2;
for(j=2;j<=k;j++)
{if(i%j==0)
{m=0;
breake;
}
}
if(m)
cout<<i<<"";
}}

 

 

4.#include <iostream.h>
#include <math.h>

void main()
{
int flag=1;

 

for(int i=11;i<101;i++)
{
for(int j=2;j<sqrt(i);j++)
{
if(i%j==0)
{
flag=0;
break;
}
else
flag=1;
}
if(flag==0)
cout<<" ";
else
cout<<i<<endl;

}
}
这次没问题了。。
其它类似

 

5.if(m%2!=0) //如果是以2结尾的则一定不是素数,数目比较大的时候,效率高
{
k=(int)sqrt(m);
for(n=2;n<=k;n++) //判断是否为素数
{
if(m%n==0) break;
}
if(n==k) //不是则输出
{
count++;
cout<<m<<" ";
}

 

相关内容
赞助商链接