fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. int angka, jumlah = 0;
  6. cin >> angka;
  7. string jawab;
  8. bool ok = false;
  9. bool ada = false;
  10.  
  11. while (angka % 2 == 0) {
  12. angka /= 2;
  13. jumlah++;
  14. ok = true;
  15. }
  16. if(ok) {
  17. if (jumlah == 1) {
  18. jawab += "2";
  19. } else {
  20. jawab += "2^" + to_string(jumlah);
  21. }
  22. ada = true;
  23. }
  24. ok = false;
  25.  
  26. for (int a = 3; a * a <= angka; a += 2) {
  27. if(ada) {
  28. jawab += " x ";
  29. ada = false;
  30. }
  31. jumlah = 0;
  32. while (angka % a == 0) {
  33. angka /= a;
  34. jumlah++;
  35. ok = true;
  36. ada = true;
  37. }
  38.  
  39. if(ok) {
  40. if (jumlah == 1) {
  41. jawab += to_string(a);
  42. } else {
  43. jawab += to_string(a) + "^" + to_string(jumlah);
  44. }
  45. ok = false;
  46. }
  47. }
  48.  
  49. if (angka > 1) {
  50. if (ada) jawab += " x ";
  51. jawab += to_string(angka);
  52. }
  53. cout << jawab;
  54. }
  55.  
Success #stdin #stdout 0.01s 5280KB
stdin
75
stdout
3 x 5^2