读懂题于2020-11-04 22:40
80分于11-05 16:37
AC 于11-05 16:43
普及的题非常简单
思路:若k在前一半,则开头是0,反之开头是1,递归查找
#include <iostream>
#include <cmath>
#include <cstring>
#include <algorithm>
using namespace std;
long long a[70]= {1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,
32768,65536,131072,262144,524288,1048576,2097152,4194304,8388608,16777216,
33554432,67108864,134217728,268435456,536870912,1073741824,2147483648
,4294967296,8589934592,17179869184,34359738368,68719476736,
137438953472,274877906944,549755813888,1099511627776,2199023255552,4398046511104,
8796093022208,17592186044416,35184372088832,70368744177664,140737488355328,281474976710656,
562949953421312,1125899906842624,2251799813685248,4503599627370496,9007199254740992,18014398509481984,
36028797018963968,72057594037927936,144115188075855872,288230376151711744,576460752303423488,1152921504606846976,
2305843009213693952,23058430092