fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4.  
  5.  
  6. int main()
  7. {
  8. int a;
  9. scanf("%d",&a);
  10.  
  11. int c[1000001]={0,};
  12.  
  13. for(int i=1;i<=1000000;i++){
  14. if(3*i<1000001){
  15. if(c[3*i]>c[i]+1||c[3*i]==0){
  16. c[3*i]=c[i]+1;
  17. }
  18. }
  19.  
  20. if(2*i<1000001){
  21. if(c[2*i]>c[i]+1||c[2*i]==0){
  22. c[2*i]=c[i]+1;
  23. }
  24. }
  25.  
  26. if(1+i<1000001){
  27. if(c[1+i]>c[i]+1||c[1+i]==0){
  28. c[1+i]=c[i]+1;
  29. }
  30. }
  31.  
  32. }
  33. printf("%d",c[a]);
  34.  
  35.  
  36.  
  37. return 0;
  38. }
  39.  
  40.  
  41.  
  42.  
  43.  
  44. int min(int a, int b){
  45. if(a>b){
  46. return b;
  47. }else{
  48. return a;
  49. }
  50. }
  51. int max(int a, int b){
  52. if(b>a){
  53. return b;
  54. }else{
  55. return a;
  56. }
  57. }
  58.  
Success #stdin #stdout 0s 5508KB
stdin
1000000
stdout
19