算法
(枚举约数) $O(\sqrt{n})$
只要找出 $N$ 的所有约数就能均匀分配这 $N$ 个泡芙。
C++ 代码
#include <bits/stdc++.h>
using std::cin;
using std::cout;
using std::set;
using ll = long long;
int main() {
ll n;
cin >> n;
set<ll> s;
for (ll x = 1; x * x <= n; ++x) {
if (n % x != 0) continue;
s.insert(x);
s.insert(n / x);
}
for (ll x : s) cout << x << '\n';
return 0;
}