关注
#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
相关推荐
点赞 评论 收藏
分享
09-23 13:46
河南师范大学 算法工程师 点赞 评论 收藏
分享
10-09 13:51
广州大学 产品经理 点赞 评论 收藏
分享
牛客热帖
更多
- 1... BG一般,如何逆天改命拿下后端秋招SSP?1.6W
- 2... 面试最后的反问环节,能问些什么?(附特供问题)1.4W
- 3... 从面试官的角度看待一场面试是怎么样的?9984
- 4... 最近面试回答不出来的题8017
- 5... 害,找工作哪有不上当的!7150
- 6... 《从研一摆烂到稳拿oc:嵌入式er的踩坑血泪史,这些弯路真的别再走了!》6048
- 7... 作为普通家庭出身的我,为什么非大厂不可?5058
- 8... 双非硕的十月份秋招总结4205
- 9... 项目经历混乱?STAR法则手把手教你梳理(附真实案例分析过程)3392
- 10... 找到靠谱的公司,少走些弯路3286
正在热议
更多
# 实习在多还是在精 #
16747次浏览 154人参与
# 我的求职进度条 #
14266次浏览 238人参与
# 爱玛科技集团求职进展汇总 #
33204次浏览 221人参与
# 秋招踩过的“雷”,希望你别再踩 #
42456次浏览 595人参与
# 如果不考虑收入,你最想做什么工作? #
29748次浏览 165人参与
# 找工作中的小确幸 #
19258次浏览 184人参与
# 实习下班不想学习,正常吗? #
10846次浏览 137人参与
# 校招谈薪一定要知道的事 #
7577次浏览 84人参与
# 你见过哪些工贼行为 #
8335次浏览 56人参与
# 你觉得什么岗位会被AI替代 #
10766次浏览 135人参与
# 反问环节如何提问 #
110324次浏览 2210人参与
# 顺丰求职进展汇总 #
61115次浏览 300人参与
# 柠檬微趣工作体验 #
12500次浏览 72人参与
# 远程面试的尴尬瞬间 #
200232次浏览 1284人参与
# 高学历就一定能找到好工作吗? #
54814次浏览 607人参与
# 实习生应该准时下班吗 #
293347次浏览 1627人参与
# 华为池子有多大 #
101159次浏览 730人参与
# 面包vs爱情,怎么选? #
21396次浏览 243人参与
# 大厂VS公务员你怎么选 #
7734次浏览 148人参与
# 工作中,努力重要还是选择重要? #
202767次浏览 2059人参与
# 浪潮求职进展汇总 #
18858次浏览 140人参与