主站
DreamJudge
院校信息
专业题库
模拟考试
机试真题
专业课程
答疑区
兑换中心
登录
注册
上岸
以下题解仅供学习参考使用。
抄袭、复制题解,以达到刷AC率/AC数量或其他目的的行为,在N诺是严格禁止的。
N诺非常重视学术诚信。此类行为将会导致您成为作弊者。具体细则请查看N诺社区规则。
James
2021年1月16日 16:39
二进制数和负二进制数差别在于向上取整和向下取整
P1097
回复 0
|
赞 0
|
浏览 11.4k
#include <bits/stdc++.h> using namespace std; /* 1. 二进制数:向下取整 2. 负二进制数:向上取整 向上取整:n为负数n=n/(-2) n为正数n=n/(-2)+1 不要忘记0的情况 */ stack <int> s; int n; int main(){ while(scanf("%d",&n)!=EOF){ &n...
DDD
2021年1月13日 14:19
负二进制(可能的Wrong Answer原因)
P1097
回复 0
|
赞 0
|
浏览 7.5k
不要忘记考虑输入为“0”的情况,同时要保证连续输入! 若未考虑此情况,可能导致0%数据通过
做一个和尚
2020年3月31日 00:58
简单的解题思路
P1097
回复 4
|
赞 2
|
浏览 13.2k
模拟10进制转化为-2进制的过程。就是一个数n/-2然后取其余数,因为是二进制,所以余数要为正的。所以我们要处理一下数据,把计算出来的余数取其绝对值。 对于负数我们直接除 -2 会得出错误的结果,例如-3/-2=1余数为-1,余数为负数。所以要先用被除数-3 减去余数 1 再除,此时就可被-2整除,即-3➗-2 = 2 余 1才对。 在解题时,我们先求出正的余数,然后用这个数减去余数,之后再除以-2的话就可以算出正确的结果了。 C/C++代码如下: #include<bits/stdc++.h> using namespace std;...
莫小七
2020年2月20日 13:06
1097负二进制
P1097
回复 1
|
赞 4
|
浏览 13.3k
模拟十进制转换二进制方法 以第一步为例: 要让被除数(这里的-3)减去除数与商的乘积大于0,若小于0则商加1 (这里的-3/-2商为1,[ (-3) - (-2) * 1 ] = -1 < 0 则商需要加1,此时商为 1+1=2) 之后计算新商的余数存进数组 (新的余数为(-3)-(-2)* 2 = 1) 若有不对的地方希望各位同学指正! #include <iostream> using namespace std; i...
1
2
题目
负二进制
题解数量
14
发布题解
热门题解
1
逻辑很简单,但是实现却要小心多多
2
1097负二进制
3
负二进制 题解:
4
简单的解题思路
5
找规律蒙对了感觉
6
负二进制 题解:
7
主要是对负数的取余,计算机和我们要求的不一样,要人为改值
8
负二进制(可能的Wrong Answer原因)
9
二进制数和负二进制数差别在于向上取整和向下取整
10
负二进制 题解: