01 #include <iostream> 02 using namespace std; 03 04 const int N = 1e6 + 5; 05 06 int n, cnt, Prime[N]; 07 bool Vis[N]; 08 09 int main() 10 { 11 cin >> n; 12 for (int i = 2; i <= n; i++) 13 { 14 if (!Vis[i]) 15 Prime[++cnt] = i; 16 for (int j = 1; j <= cnt && (long long)i * Prime[j] <= n; j++) 17 { 18 int k = i * Prime[j]; 19 Vis[k] = true; 20 if (i % Prime[j] == 0) 21 break; 22 } 23 } 24 cout << cnt; 25 return 0; 26 }
1. 如果删去了第 16 行的强制类型转换 (long long),输出的结果会发生变化()
2. 当输入的 n 为 30 时,输出为 11()
3. 第 18 行得到的所有的 k 互不相同()
4. 下列做法不可能改变程序的结果的是()
5. 下列 n 的取值中,输出的结果为 25 的是()
6. 这份代码的时间复杂度为 ()