c/c++_找出100到200之間的全部素數並輸出
阿新 • • 發佈:2019-02-19
/* * Copyright (c) 2011, 煙臺大學計算機學院 * All rights reserved. * 作 者:解曉東 * 完成日期:2012 年 10 月 22 日 * 版 本 號:v1.0 * * 輸入描述: * 問題描述:找出100到200之間的全部素數並輸出 * 程式輸出: * 問題分析: * 演算法設計: */ # include <iostream> # include <cmath> # include <iomanip> using namespace std; int main() { int m, k, i, n = 0; bool prime;//定義bool變數 for(m = 101; m <= 200; m += 2)//判斷m是否為素數,m由101變化到200,增量為2 { prime = true;//迴圈開始時設prime為真,即先認為m為素數 k = int(sqrt(m));//用k代表sqrt(m)的整數部分 for(i=2; i<=k; ++i)//此迴圈的作用是將m被2至sqrt(m)除,檢查是否能整除 { if(m%i == 0)//如果能整除,表示m不是素數 { prime = false;//使prime為假 break;//終止執行本迴圈 } } if(prime)//如果m為素數 { cout<<setw(5)<<m;//輸出素數m,欄位寬度為5 n += 1;//n用來累計素數的個數 } if(n%10 == 0)//輸出10個數後換行 cout<<endl; } cout<<endl;//最後一次執行換行 return 0; } /* 在vc++6.0中執行的結果是: --------------------------------------------------- 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 --------------------------------------------------- */