fork(3) download
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. bool is_prime(int n)
  5. {
  6. int n_sqrt = sqrt(n);
  7. for (int i = 2; i <= n_sqrt; i++)
  8. if (n % i == 0)
  9. return false;
  10. return true;
  11. }
  12.  
  13. int main() {
  14. int num = 17;
  15. int num_third = num / 3;
  16.  
  17. int first_prime = 0;
  18. for (int i = num_third; i >= 2; i--)
  19. if (is_prime(i))
  20. {
  21. first_prime = i;
  22. break;
  23. }
  24.  
  25. int remained_num = num - first_prime;
  26. int remained_num_half = remained_num / 2;
  27. int second_prime = 0;
  28. int third_prime = 0;
  29. for (int i = remained_num_half; i >= 2; i--)
  30. if (is_prime(i))
  31. {
  32. if (is_prime(remained_num - i))
  33. {
  34. second_prime = i;
  35. third_prime = remained_num - i;
  36. break;
  37. }
  38. }
  39.  
  40. printf("%d %d %d", first_prime, second_prime, third_prime);
  41. return 0;
  42. }
Success #stdin #stdout 0s 3456KB
stdin
Standard input is empty
stdout
5 5 7