MOOC清华《程序设计基础》第4章:插花游戏-求素数

来源:互联网 发布:士不可以不弘毅 知乎 编辑:程序博客网 时间:2024/06/06 19:33
#include <iostream>using namespace std;bool isPrime(int n){for(int i = 2; i * i <= n; i++)if(n % i == 0)return false;return true;}int main(){//int sum = 0;//测试代码 for(int n = 2; n <= 100; n++){if( isPrime(n) )cout << n << endl;//sum = sum + n;//测试代码 }return 0;}


若将n的范围改为10^7,速度将变得非常慢。这主要是由于cout语句占用时间引起的,用测试代码替换并删除cout语句后,n在10^7也只需要6秒多算完。

这是求素数最普通的算法——枚举法,后面将介绍如何用筛法(也叫埃拉托斯特尼法)求素数。

阅读全文
0 0