输入数字n,输出小于等于n的所有质数。
算法是简单的试除法,稍作优化,假设当前枚举数字为x,从2到sqrt(x)依次看看x是否能被整除,能被整除就不是质数,否则就是质数。
#include<iostream> using namespace std; int main() { int n; cin >> n; for (int i = 2; i <= n; i++) { bool flag = true; for (int j = 2; j * j <= i; j++) { if (i % j == 0) { flag = false; break; } } if (flag) { cout << i << " "; } } return 0; }