• Source
    1. #include <iostream>
    2. using namespace std;
    3.  
    4. int main ()
    5. {
    6. long k;
    7. cin>>k;
    8. long s=1;
    9. while (1)
    10. {
    11. if (s>=k) break;
    12. s*=2;
    13. }
    14. long slb=0;
    15. long slt=s;
    16. if (s==k)
    17. {
    18. cout<<s<<" "<<"0";
    19. return 0;
    20. }
    21. while (1)
    22. {
    23. if (slt==k) break;
    24. long D=s;
    25. slb=0;
    26. slt=0;
    27. while (1)
    28. {
    29. if (D==1) break;
    30. slt+=(D/2);
    31. slb++;
    32. if (slt==k)
    33. {
    34. cout<<s<<" "<<slb;
    35. break;
    36. }
    37. else if (slt>k)
    38. {
    39. slt-=(D/2);
    40. }
    41. D=D/2;
    42. }
    43. s*=2;
    44. }
    45. return 0;
    46. }