#382. CSP2022PJ-19

CSP2022PJ-19

  1. (完善程序)

(枚举因数)从小到大打印正整数 n 的所有正因数。试补全枚举程序。

#include <bits/stdc++.h> 
using namespace std; 

int main() { 
    int n;
    cin >> n;

    vector<int> fac;
    fac.reserve((int)ceil(sqrt(n)));

    int i;
    for (i = 1; i * i < n; ++i) { 
        if (_________________________) { 
            fac.push_back(i);
        }
    }

    for (int k = 0; k < fac.size(); ++k) { 
        cout << _________________________ << " "; 
    }
    if (_________________________) { 
        cout << _________________________ << " "; 
    }
    for (int k = fac.size() - 1; k >= 0; --k) { 
        cout << _________________________ << " "; 
    }
}

① 处应填( )。

{{ select(1) }}

  • n % i == 0
  • n % i == 1
  • n % (i-1) == 0
  • n % (i-1) == 1

② 处应填( )。

{{ select(2) }}

  • n / fac[k]
  • fac[k]
  • fac[k]-1
  • n / (fac[k]-1)

③ 处应填( )。

{{ select(3) }}

  • (i-1) * (i-1) == n
  • (i-1) * i == n
  • i * i == n
  • i * (i-1) == n

④ 处应填( )。

{{ select(4) }}

  • n-i
  • n-i+1
  • i-1
  • i

⑤ 处应填( )。

{{ select(5) }}

  • n / fac[k]
  • fac[k]
  • fac[k]-1
  • n / (fac[k]-1)