程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 用窮舉法找出1到100的質數並顯示出來

用窮舉法找出1到100的質數並顯示出來

編輯:關於C++

用窮舉法找出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<<" ";
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved