fork download
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. bool snt(int n) {
  6. if (n<2) return false;
  7. for (int i=2;i*i<=n;i++) {
  8. if (n%i==0) {
  9. return false;
  10. }
  11. }
  12. return true;
  13. }
  14.  
  15. int main() {
  16. int n;
  17. cin >> n;
  18. vector<int>a;
  19. a.push_back(n);
  20. for (int i=n-1;i>=1;i--) {
  21. if (i>=a.back()) {
  22. continue;
  23. }
  24. if (snt(i)) {
  25. a.push_back(i);
  26. } else {
  27. for (int j=0;j<a.size();j++) {
  28. if (a[j]%i==0) {
  29. a.push_back(i);
  30. break;
  31. }
  32. }
  33. }
  34. }
  35. for (int i=0;i<a.size();i++) {
  36. if (i>0) cout << ' ';
  37. cout << a[i];
  38. }
  39. }
Success #stdin #stdout 0.01s 5288KB
stdin
12
stdout
12 11 7 6 5 4 3 2 1