fork download
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. int count = 0;
  5. int i = 0;
  6. int arr[1000001] = {0};
  7. int sik(int a)
  8. {
  9. if(a % 3 == 0){
  10. count++;
  11. return sik(a / 3);
  12. }
  13. else if(a % 2 == 0){
  14. count++;
  15. return sik(a / 2);
  16. }
  17. else if(a == 1){
  18. arr[i] = count;
  19. count = 0;
  20. i++;
  21. }
  22. else{
  23. count++;
  24. return sik(a - 1);
  25. }
  26.  
  27. }
  28. int main()
  29. {
  30.  
  31. int n;
  32. int min = 10000001;
  33. cin >> n;
  34. if(n == 0){
  35. cout << '0' << endl;
  36. }
  37. else{
  38. sik(n);
  39. for(int i = 0 ; i <= count ; i++){
  40. if(arr[i] < min){
  41. min = arr[i];
  42. }
  43. }
  44. cout << min << endl;
  45. }
  46. }
Time limit exceeded #stdin #stdout 5s 7372KB
stdin
2
stdout
Standard output is empty