关注
再贴一遍,真的很难受。。。 #include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
unsigned long long n;
cin >> n;
if (n == 0)
{
cout << 1 << endl;
return 0;
}
else if (n == 1 || n == 2)
{
cout << 2 << endl;
return 0;
}
else if (n == 3)
{
cout << 3 << endl;
return 0;
}
string binaryForm;
bool flag = false;
for (unsigned long long i = (long long)1 << 63; i != 0; i = i >> 1)
{
if (i & n)
{
binaryForm += '1';
flag = true;
}
else
{
if (flag)
{
binaryForm += '0';
}
}
}
int length = binaryForm.size();
long long count = 1;
int curr = 1;
for (int i = 0; i < length - 1; i++)
{
if (i % 2 == 0 && i != 0)
{
curr *= 2;
}
count += curr;
}
string subLeft = binaryForm.substr(1, (length - 1) / 2);
int times = 1;
for (int i = subLeft.size() - 1; i >= 0; i--)
{
if (subLeft[i] == '1')
{
count += times;
}
times *= 2;
}
string newBinaryForm = "1" + subLeft;
if (length % 2)
{
subLeft.pop_back();
}
reverse(subLeft.begin(), subLeft.end());
newBinaryForm += subLeft + "1";
if (newBinaryForm <= binaryForm)
{
count++;
}
cout << count << endl;
return 0;
}
查看原帖
点赞 4
相关推荐
今天 00:18
华东师范大学 策略运营 点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
297118次浏览 2613人参与
# 美团求职进展汇总 #
1326130次浏览 12438人参与
# 百度开奖 #
159862次浏览 961人参与
# 地方国企笔面经互助 #
3708次浏览 9人参与
# 如果不工作真的会快乐吗 #
58756次浏览 510人参与
# 选完offer后,你后悔学本专业吗 #
19419次浏览 142人参与
# 阿里云管培生offer #
16287次浏览 292人参与
# 国央企薪资爆料 #
7642次浏览 55人参与
# 如何一边实习一边秋招 #
991356次浏览 12634人参与
# 提前批简历挂麻了怎么办 #
146280次浏览 1944人参与
# 学历or实习经历,哪个更重要 #
50637次浏览 399人参与
# 海康威视求职进展汇总 #
398529次浏览 3405人参与
# 正在实习的你,几点下班 #
51462次浏览 383人参与
# 米哈游求职进展汇总 #
175669次浏览 1458人参与
# 投递实习岗位前的准备 #
1178655次浏览 18389人参与
# 面试体验感最好的是哪家? #
84965次浏览 845人参与
# 实习生应该准时下班吗 #
167317次浏览 1159人参与
# 得物求职进展汇总 #
66082次浏览 681人参与
# 求职遇到的搞笑事件 #
70552次浏览 575人参与
# 网申一定要掌握的小技巧 #
5296次浏览 53人参与
# 0offer是寒冬太冷还是我太菜 #
897475次浏览 8007人参与
# 腾讯求职进展汇总 #
195568次浏览 1639人参与