fork(1) download
  1. #include<iostream>
  2.  
  3. using namespace std;
  4.  
  5. int fRecursionChange(unsigned long long int);
  6. int main()
  7. {
  8. unsigned long long int va;
  9. while (cin >> va)
  10. {
  11. va = fRecursionChange(va);
  12. cout << va << endl;
  13. }
  14. return 0;
  15. }
  16. int fRecursionChange(unsigned long long int va)
  17. {
  18. if (va <= 11) return va;
  19. unsigned long long int vb2, vb3, vb4;
  20. vb2 = (va - (va % 2)) / 2;
  21. vb3 = (va - (va % 3)) / 3;
  22. vb4 = (va - (va % 4)) / 4;
  23. if (vb2 + vb3 + vb4 >= va)
  24. {
  25. vb2 = fRecursionChange(vb2);
  26. vb3 = fRecursionChange(vb3);
  27. vb4 = fRecursionChange(vb4);
  28. return vb2 + vb3 + vb4;
  29. }
  30. else return va;
  31. }
Success #stdin #stdout 0s 4368KB
stdin
Standard input is empty
stdout
Standard output is empty