首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
10进制 VS 2进制
[编程题]10进制 VS 2进制
热度指数:21404
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 64M,其他语言128M
算法知识视频讲解
对于一个十进制数A,将A转换为二进制数,然后按位逆序排列,再转换为十进制数B,我们称B为A的二进制逆序数。 例如对于十进制数173,它的二进制形式为10101101,逆序排列得到10110101,其十进制数为181,181即为173的二进制逆序数。
输入描述:
一个1000位(即10^999)以内的十进制数。
输出描述:
输入的十进制数的二进制逆序数。
示例1
输入
173
输出
181
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(36)
邀请回答
收藏(351)
分享
提交结果有问题?
103个回答
42篇题解
开通博客
philos
发表于 2021-02-05 21:09:49
思路 比如 173,二进制形式是 10101101,我们在求二进制形式的时候求出来的结果其实就是倒着的,那么我们刚好就可以直接算出来逆序的二进制形式对应的值。 但是因为 A 可能是一个非常大的数,所以直接算不合适,所以我们需要记住一个进制转换的模板!很重要,划重点。这其实是一个模拟竖式除法的过程(数
展开全文
渺小小螃蟹
发表于 2021-06-10 11:28:53
#include<iostream> #include<cstdio> #include<string> #include<vector> using namespace std; string Divide(string str,int x)
展开全文
猫和老鼠之张鱼小丸子
发表于 2024-03-05 21:35:45
犯了一个错误,就是加法和乘法最后都需要看有无进位,如果有,则需在前添1。 因为没有考虑到加法也需要,我找了好几十分钟,希望以后吸取教训,不再犯同样的错误,大家也注意一下!!! #include <iostream> #include <cmath> using namesp
展开全文
czhappy
发表于 2020-04-06 10:41:43
利用Java大数即可,详情请看代码 import java.math.BigInteger; import java.math.BigDecimal; import java.util.Scanner; import java.util.Vector; public class Main {
展开全文
鱼儿恋上水
发表于 2020-03-24 15:16:32
高精度的进制转换:https://www.cnblogs.com/kuangbin/archive/2011/08/09/2132467.html编写一个进制转换函数,由转换过程可知,保存大数求模的数组已经是逆序的,只要删除数组开头连续的0,再用进制转换函数转换为10进制即可。代码如下: #incl
展开全文
牛客600247800号
发表于 2022-02-25 19:15:22
从二进制转十进制,只需从低位到高位依次加上各数位的值,并不断乘以2就能实现转换。由于是对字符串进行操作,因此需要重新编写两个函数来实现字符串对应的乘法和加法操作。 对于乘法运算,函数的做法是将字符串从低位到高位逐位乘以乘数。如果某位乘以乘数后超过了10,那就让其对10取模,并保留进位。之后,将进位和
展开全文
土尔逊Torson
发表于 2023-05-04 00:03:37
//土尔逊Torson 编写于2023/5/04 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <cstdio> #include <string> #include <vector
展开全文
Chisatowo
发表于 2025-03-20 19:02:08
采用大数除法来实现进制转换,容易错的一个误区在于不用执着于利用字符串的最后一位进行求余,当你从m进制转换为n进制且n > m时不能这么做, 只能通过大数除法做除留余数进行进制转换. #include<bits/stdc++.h> using namespace std; typed
展开全文
烤肉__
发表于 2022-01-29 14:11:06
#include <iostream> #include <vector> #include <iostream> #include <algorithm> using namespace std; vector<int> bas_cha
展开全文
宁静的冬日
发表于 2022-03-05 10:18:05
【C++】已通过 核心思路: 首先写出string模拟人工计算的乘2,除2,的函数mul和div,返回值用string返回 利用div可以将10进制s化成二进制bin_s,然后利用mul将bin_s化成s,解决。 注意:转换过程中,注意字符串的正逆序。 ">#include<string&
展开全文
问题信息
位运算
基础数学
难度:
103条回答
351收藏
16329浏览
热门推荐
通过挑战的用户
查看代码
牛客40075...
2023-02-28 23:13:17
上机之王
2023-02-27 23:58:28
牛客91631...
2023-02-22 13:31:43
牛客91553...
2023-02-18 01:52:08
爱读书的斑马很苦闷
2023-02-13 15:48:15
相关试题
Primary Arithmetic
字符串
基础数学
位运算
评论
(39)
车站建造问题
基础数学
评论
(40)
Skew数
基础数学
位运算
评论
(49)
如图 1 表示使用快表(页表)的虚...
编程基础
评论
(1)
订单表order_table全部记...
查找
数据库
数据分析
SQL
评论
(2)
10进制 VS 2进制
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
173
181