#include #include #include #include #include int main(int argc, char *argv[]) { int bisket_num = 0; std::cin >> bisket_num; uint32_t result = 0; for (int clap_num = 0; clap_num <= 32; clap_num++) { uint64_t powered_num = std::pow(2, clap_num); if (bisket_num > powered_num) { continue; } if (bisket_num == powered_num) { result = clap_num; break; } if (bisket_num < powered_num) { // clap_num--; // int base_num = std:pow(2, clap_num); // int sub = bisket_num - base_num; // // 結局、最後の1回は、これまで作ってきた枚数 // より必ず小さいので、必ず1回で作れる result = (clap_num - 1) + 1; break; } } std::cout << result << std::endl; return 0; }