当前位置: 首页 > news >正文

选择邯郸网站制作app推广接单平台有哪些

选择邯郸网站制作,app推广接单平台有哪些,本地wordpress搬家,先看网站案例您的网站也可以这么做题目链接: 10进制 VS 2进制http://www.nowcoder.com/share/jump/437195121691738172415 描述 对于一个十进制数A,将A转换为二进制数,然后按位逆序排列,再转换为十进制数B,我们称B为A的二进制逆序数。 例如对于十进制…

题目链接:

10进制 VS 2进制icon-default.png?t=N6B9http://www.nowcoder.com/share/jump/437195121691738172415

描述

对于一个十进制数A,将A转换为二进制数,然后按位逆序排列,再转换为十进制数B,我们称B为A的二进制逆序数。 例如对于十进制数173,它的二进制形式为10101101,逆序排列得到10110101,其十进制数为181,181即为173的二进制逆序数。

输入描述:

一个1000位(即10^999)以内的十进制数。


输出描述:

输入的十进制数的二进制逆序数。

示例1


输入:

173

输出:

181

思路:

  1. 输入一个十进制数 s
  2. 使用大整数除法函数 divides 不断除以 2,得到二进制数的各个位,存放在向量 binary 中,顺序是按位逆序排列的。
  3. 初始化一个字符串 res 为 "0",用于存放最终的结果。
  4. 遍历 binary 中的每一位,将 res 乘以 2(相当于左移一位),然后加上当前位的值,得到二进制逆序数的十进制表示。
  5. 输出最终的二进制逆序数。

注意:代码中使用了字符串来表示大整数,通过模拟除法、乘法和加法操作,实现了对二进制逆序数的计算和转换。

源代码:

#include<iostream>
#include<string>
#include<vector>
using namespace std;// 例题6.3 KY26 10进制 VS 2进制 // 字符串表示的大整数除法
string divide(string str, int x) {int reminder = 0;  // 余数for (int i = 0; i < str.size(); i++) {int current = reminder * 10 + str[i] - '0';  // 当前位的数值str[i] = current / x + '0';  // 更新当前位的值为商的字符表示reminder = current % x;  // 更新余数}int pos = 0;while (str[pos] == '0') {pos++;  // 移除前导零}return str.substr(pos);  // 返回除法结果,移除前导零
}string multiple(string str, int x) {int carry = 0;  // 进位for (int i = str.size() - 1; i >= 0; i--) {int current = x * (str[i] - '0') + carry;  // 当前位的计算结果str[i] = current % 10 + '0';  // 更新当前位的值为计算结果的个位carry = current / 10;  // 更新进位}if (carry != 0) {str = "1" + str;  // 处理最终的进位}return str;
}string Add(string str, int x) {int carry = x;  // 初始进位为 xfor (int i = str.size() - 1; i >= 0; i--) {int current = (str[i] - '0') + carry;  // 当前位的计算结果str[i] = current % 10 + '0';  // 更新当前位的值为计算结果的个位carry = current / 10;  // 更新进位}if (carry != 0) {str = "1" + str;  // 处理最终的进位}return str;
}int main() {string s;cin >> s;  // 输入十进制数vector<int> binary;  // 用于存放二进制逆序的每一位while (s.size() != 0) {int last = s[s.size() - 1] - '0';  // 取最后一位binary.push_back(last % 2);  // 将最后一位的余数(二进制的最低位)存入 vectors = divide(s, 2);  // 将十进制数除以 2,得到下一轮迭代的数值}// 将得到的 binary 中的按位逆序排列的二进制数转换为十进制数string res = "0";  // 初始化结果为 0for (int i = 0; i < binary.size(); i++) {res = multiple(res, 2);  // 将结果乘以 2,相当于左移一位res = Add(res, binary[i]);  // 加上当前位的值}cout << res << endl;  // 输出最终的二进制逆序数return 0;
}

提交结果:

 

http://www.hrbkazy.com/news/6397.html

相关文章:

  • wordpress:代码网站排名优化公司哪家好
  • 旧电脑怎么做网站济南seo排名优化推广
  • 怎么样推广网站seo优化推广多少钱
  • 东莞人才网站营销型网站方案
  • 个人网站设计理念网上推广方式
  • 如何做自适应网站seo怎么提升关键词的排名
  • 随州seo优化推广资源seo
  • 深圳住建网站郑州seo外包顾问热狗
  • 网站开发常用软件是什么每日新闻简报
  • 做简历的什么客网站域名备案
  • 如何查网站的百度快照最近重大新闻头条
  • 糖果屋网站建设策划书免费推广平台排行榜
  • 企业网站建设套餐上海seo行业
  • 怎样用c语言做网站网络营销工程师
  • 自己做网站需要什么软件下载市场营销渠道
  • 做网站视频下载html静态网页制作
  • 山东省个人网站备案网络宣传渠道
  • 深圳建立企业网站扬州网络优化推广
  • 怎么做网站关键词seo外链推广员
  • 建设部网站办事大厅怎么免费制作网页
  • 商业网站建设软件宁波网站推广
  • 厦门医院网站建设贵州seo推广
  • 网站制作报价开网站开发怎么做
  • 网站建设需要几个阶段ip域名查询
  • worldpress 建站百度一下电脑版
  • 响水网站建设服务商全专业优化公司
  • Wordpress自动回复评论长沙seo研究中心
  • 免费制作照片的网站软文营销推广
  • 妈妈在家里做女视频网站网站收录怎么弄
  • 三星杭州 两学一做网站谷歌推广怎么做