結果
| 問題 |
No.47 ポケットを叩くとビスケットが2倍
|
| コンテスト | |
| ユーザー |
mumucoder
|
| 提出日時 | 2018-10-28 23:17:14 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 5,000 ms |
| コード長 | 785 bytes |
| コンパイル時間 | 567 ms |
| コンパイル使用メモリ | 66,944 KB |
| 実行使用メモリ | 6,820 KB |
| 最終ジャッジ日時 | 2024-11-19 07:25:29 |
| 合計ジャッジ時間 | 1,424 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 21 |
ソースコード
#include <iostream>
#include <map>
#include <string>
#include <vector>
#include <cmath>
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;
}
mumucoder