fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. ios::sync_with_stdio(0), cin.tie(0);
  6. int N; cin >> N;
  7. vector<int> pfac(N+1);
  8. vector<int> primes; primes.reserve(N-1);
  9. vector<int> vals; vals.reserve(N-1);
  10. for (int i = 2; i <= N; i++) {
  11. if (!pfac[i]) {
  12. primes.push_back(i);
  13. pfac[i] = i;
  14. }
  15. vals.push_back(i/pfac[i]);
  16. for (int p : primes) {
  17. if (i*p > N || p > pfac[i]) break;
  18. pfac[i*p] = p;
  19. }
  20. }
  21.  
  22. sort(vals.begin(), vals.end());
  23. assert(int(vals.size()) == N-1);
  24. for (int v : vals) { cout << v << ' '; }
  25. cout << '\n';
  26.  
  27. return 0;
  28. }
Success #stdin #stdout 0s 4552KB
stdin
10
stdout
1 1 1 1 2 3 3 4 5