fork download
  1. #include <stdio.h>
  2. #define MAX 1000003
  3. int s[MAX];
  4. int a[1003];
  5. int luu[1000003];
  6.  
  7. void sangngto() {
  8. for (int i = 2; i <= MAX; i++) {
  9. s[i] = 1;
  10. }
  11. for (int i = 2; i * i <= MAX; i++) {
  12. if (s[i]) {
  13. for (int j = i * i; j <= MAX; j += i) {
  14. s[j] = 0;
  15. }
  16. }
  17. }
  18. }
  19.  
  20. int main() {
  21. sangngto();
  22. int n;
  23. scanf("%d",&n);
  24. for (int i = 0; i<n; ++i) {
  25. scanf("%d",&a[i]);
  26. ++luu[a[i]];
  27. }
  28. for (int i = 2; i<1000003; ++i) {
  29. while (s[i] && luu[i]) {
  30. printf("%d ",i);
  31. --luu[i];
  32. }
  33. }
  34. return 0;
  35. }
  36.  
Success #stdin #stdout 0.01s 6068KB
stdin
8
11 4 3 6 7 5 5 9
stdout
3 5 5 7 11