fork download
  1. #include <iostream>
  2. #include <cmath>
  3. #include <iomanip>
  4. #include <climits>
  5. #include <algorithm>
  6. #include <numeric>
  7.  
  8. using namespace std;
  9.  
  10. const int MOD = 1000000007;
  11.  
  12. void printOne(long long n) {
  13. for (long long i = 2;i * i <= n;i++) {
  14. if (n % i == 0) {
  15. cout << i << " ";
  16. int exp = 0;
  17. while (n % i == 0) {
  18. exp++;
  19. n = n / i;
  20. }
  21. }
  22. }
  23. if (n != 1) {
  24. cout << n;
  25. }
  26. }
  27.  
  28. void printTwo(long long n) {
  29. for (long long i = 2;i * i <= n;i++) {
  30. if (n % i == 0) {
  31. int exp = 0;
  32. while (n % i == 0) {
  33. exp++;
  34. n = n / i;
  35. }
  36. cout << "(" << i << ", " << exp << ") ";
  37. }
  38. }
  39. if (n != 1) {
  40. cout << "(" << n << ", " << 1 << ") ";
  41.  
  42. }
  43. }
  44.  
  45. void printThree(long long n) {
  46. for (long long i = 2;i * i <= n;i++) {
  47. if (n % i == 0) {
  48. while (n % i == 0) {
  49. cout << i;
  50. n = n / i;
  51. if (n != 1) {
  52. cout << " x ";
  53. }
  54. }
  55.  
  56. }
  57. }
  58. if (n != 1) {
  59. cout << n;
  60. }
  61. }
  62.  
  63.  
  64. int main() {
  65. long long n;cin >> n;
  66. printOne(n);
  67. cout << endl;
  68. printTwo(n);
  69. cout << endl;
  70. printThree(n);
  71. }
  72.  
  73.  
Success #stdin #stdout 0.01s 5324KB
stdin
Standard input is empty
stdout
2 3 11 19 14027553571
(2, 4) (3, 1) (11, 1) (19, 1) (14027553571, 1) 
2 x 2 x 2 x 2 x 3 x 11 x 19 x 14027553571