题型:组合题
(枚举因数)从小到大打印正整数 n 的所有正因数。
试补全枚举程序。
01 #include <bits/stdc++.h>
02 using namespace std;
03
04 int main() {
05 int n;
06 cin >> n;
07
08 vector<int> fac;
09 fac.reserve((int)ceil(sqrt(n)));
10
11 int i;
12 for (i = 1; i * i < n; ++i) {
13 if (①) {
14 fac.push_back(i);
15 }
16 }
17
18 for (int k = 0; k < fac.size(); ++k) {
19 cout << ② << " ";
20 }
21 if (③) {
22 cout << ④ << " ";
23 }
24 for (int k = fac.size() - 1; k >= 0; --k) {
25 cout << ⑤ << " ";
26 }
27 }
(1).①处应填( )
| A. n % i == 0 |
B. n % i == 1 |
| C. n % (i-1)== 0 |
D. n % (i-1) == 1 |
②处应填( )
| A. n / fac[k] |
B. fac[k] |
| C. fac[k]-1 |
D. n / (fac[k]-1) |
③处应填( )
| A. (i-1) * (i-1) == n |
B. (i-1) * i == n |
| C. i * i == n |
D. i * (i-1) == n |
④处应填( )
| A. n-i |
B. n-i+1 |
| C. i-1 |
D. i |
⑤处应填( )
| A. n / fac[k] |
B. fac[k] |
| C. fac[k]-1 |
D. n / (fac[k]-1) |
更新时间:2022-11-23 18:04:08
|
【知识点】
CCF非专业级别软件能力认证CSP-J/入门级
抱歉! 您未登录, 不能查看答案和解析点击登录











