给一个数 mmm ,找到一个 kkk ,使得 10k≤2m−110^{k} \le 2^{m} - 110k≤2m−1 .
化简式子即可。 10k≤2m−110k<2mk 则 k=⌊m×lg(2)⌋k = \left \lfloor m \times lg(2) \right \rfloork=⌊m×lg(2)⌋ 。
// #pragma GCC optimize(3) #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // #include // #include #define endl '\n' #define x first #define y second #define fi first #define se second #define PI acos(-1) // #define PI 3.1415926 #define LL long long #define INF 0x3f3f3f3f #define lowbit(x) (-x&x) #define PII pair #define ULL unsigned long long #define PIL pair #define all(x) x.begin(), x.end() #define mem(a, b) memset(a, b, sizeof a) #define rev(x) reverse(x.begin(), x.end()) #define IOS ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)using namespace std;const int N = 1e5 + 10;int m;void solve() {int T = 1;while (cin >> m) {printf("Case #%d: %d\n", T ++ , (int)floor(m * log10(2)));} }int main() {IOS;solve();return 0; }
上一篇:切尔西CEO:重视球迷愿望,将把蓝军发展成世界上最成功俱乐部 切尔西重视英联杯吗 切尔西关注桑托斯
下一篇:Vue系列之数组更新检测