关注
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
#include <deque>
#include <queue>
#include <list>
#include <stack>
#include <map>
//#include <set>
#include <utility>
#include <iterator>
#include <array>
#include <cstdlib>
#include <algorithm>
#include <numeric>
#include <climits>
#include <cstring>
#include <unordered_map>
#include <functional>
#include <iomanip>
#include <cmath>
using namespace std;
string addBinary(string a, string b) {
if (a.size() < b.size()) {
swap(a, b);
}
int lena = a.size();
int lenb = b.size();
if (lenb == 0) {
return a;
}
string ret;
unsigned short c = 0;
reverse(a.begin(), a.end());
reverse(b.begin(), b.end());
int i = 0, j = 0;
for (; i < lena && j < lenb; ) {
char cha = a[i], chb = b[j];
unsigned short sum = cha - '0' + chb - '0' + c;
c = sum / 2;
ret.push_back(sum % 2 + '0');
++i, ++j;
}
int k = i;
for (; k < lena; ++k) {
unsigned short sum = a[k] - '0' + c;
c = sum / 2;
ret.push_back(sum % 2 + '0');
}
if (c == 1) {
ret.push_back('1');
}
reverse(ret.begin(), ret.end());
return ret;
}
int cal(int n){
return pow(2, n - 1);
}
int main(int argc, char *argv[])
{
string a = "111";
string b = "1";
auto ret = addBinary(a,b);
freopen("input.txt", "r", stdin);
unsigned int n = 0;
while (cin >> n) {
stringstream sstrm;
sstrm << n;
string str;
sstrm >> str;
int sz = str.size();
string ss(sz, '1');
sstrm.str("");
sstrm.clear();
sstrm.str(ss);
int num = 0;
sstrm >> num;
int ret = 0;
if (n >= num) {
for (int i = 1; i <= sz; ++i) {
ret += cal(i);
}
} else {
for (int i = 1; i <= sz - 1; ++i) {
ret += cal(i);
}
string basestr(sz,'0');
basestr[0] = '1';
int tempnum = stoi(basestr);
while (tempnum <= n) {
++ret;
basestr = addBinary(basestr,"1");
tempnum = stoi(basestr);
}
}
cout << ret << endl;
}
return 0;
}
第一道覆盖了,没存下来
查看原帖
点赞 2
相关推荐
03-23 14:37
华南师范大学 前端开发其它
老树开花:可以开始投了,不用等到觉得完全准备好。一边投一边根据面试反馈改简历是最高效的方式。简历上项目描述建议突出你解决的具体问题,比如编辑器的性能优化、大文档渲染怎么处理的,而不只是列技术栈。中厂前端实习现在竞争确实激烈,建议同时关注一些有AI业务的团队,前端加AI应用是很有差异化的组合。Vue全家桶基础扎实的话可以往SSR或者跨端方向延伸,这些是面试加分项。加油,时间还来得及。 点赞 评论 收藏
分享
04-03 10:26
中国矿业大学 Java 二十岁的编程男神王大...:兄弟,到岗时间你说的多少呀,我们导师只能要求六月走,感觉说六月会不会给挂了offer
查看4道真题和解析 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 这个offer值得去吗? #
20046次浏览 172人参与
# 上班苦还是上学苦呢? #
345078次浏览 2069人参与
# 联宝杯大学生创新大赛,你的技术值得产业级答案 #
47604次浏览 514人参与
# 如果春招能重来,我会___ #
21059次浏览 220人参与
# 实习怎么做才有更好的产出 #
49869次浏览 456人参与
# 除了线上,还能去哪些地方投简历 #
11323次浏览 115人参与
# 在爱玛,骑向未来 #
1346次浏览 161人参与
# AI coding的好用工具分享 #
88400次浏览 567人参与
# 找工作以来,你最看不惯__ #
79365次浏览 594人参与
# 大学四年该怎么过,才不算浪费时间? #
23811次浏览 106人参与
# 字节开奖 #
150103次浏览 677人参与
# 薪资爆料 #
422154次浏览 2226人参与
# 你觉得实习能学到东西吗 #
154085次浏览 1494人参与
# 你被哪些公司挂了? #
193199次浏览 1044人参与
# 双非应该如何逆袭? #
585527次浏览 6387人参与
# 毕业后不工作的日子里我在做什么 #
269043次浏览 1739人参与
# 一份好的简历长什么样? #
41867次浏览 505人参与
# 硬件人秋招的第一个offer #
129073次浏览 1472人参与
# 双非本科求职如何逆袭 #
1647634次浏览 13074人参与
# 刚工作的你,踩过哪些坑? #
46648次浏览 296人参与
# 面试线索爆料 #
130916次浏览 704人参与
# AI“智障”时刻 #
40335次浏览 193人参与
