fork download
  1. #include <iostream>
  2.  
  3. std::uint64_t as_decimal(std::uint32_t n)
  4. {
  5. std::uint64_t res = 0;
  6. std::uint64_t power = 1;
  7. for (int i = 0; i != 19; ++i) { // 10 ** 20 does hold in std::uint64_t
  8. res += (n & 0x01) * power;
  9. n >>= 1;
  10. power *= 10;
  11. }
  12. return res;
  13. }
  14.  
  15.  
  16. int main(){
  17. int i = 1;
  18. auto dec = as_decimal(i);
  19. while (dec % 72 != 0) {
  20. ++i;
  21. dec = as_decimal(i);
  22. }
  23. std::cout << i << "th :" << dec << " = 72 * " << dec / 72 << std::endl;
  24. }
Success #stdin #stdout 0s 4324KB
stdin
Standard input is empty
stdout
4088th :111111111000 = 72 * 1543209875