主站
DreamJudge
院校信息
专业题库
模拟考试
机试真题
专业课程
讨论区
兑换中心
登录
注册
发布
以下题解仅供学习参考使用。
抄袭、复制题解,以达到刷AC率/AC数量或其他目的的行为,在N诺是严格禁止的。
N诺非常重视学术诚信。此类行为将会导致您成为作弊者。具体细则请查看N诺社区规则。
122793160
2024年3月26日 14:55
负二进制 题解:看了大佬的解释
P1097
回复 0
|
赞 0
|
浏览 243
#include<bits/stdc++.h> using namespace std; int main(){ int m; while(cin>>m){ string s; if(m==0)s="0"; while(m!=0){...
Sacan
2022年6月2日 23:01
找规律蒙对了感觉
P1097
回复 1
|
赞 2
|
浏览 6.2k
1. 找几个正常转二进制的“除2取余,逆序输出”做做看,发现: 为了保证余数时0或1,就必须保证a和b同号。或者商0,余数为最后一次的被除数。 a是被除数;b是除数和商的乘积。 2. C++中: 13 % -2 = 1 -13 % -2 = -1 然后就。。 蒙对了。。。。。。。。。。。。。。。 #include <iostream> #include <vector> using namespace std; int mai...
为欢几何
2024年3月10日 12:20
负二进制 题解:AC
P1097
回复 0
|
赞 0
|
浏览 398
#include<bits/stdc++.h> using namespace std; int main(){ int n; while(cin >> n) { if(n == 0) cout << 0; int cnt = 0; int s[1005];  ...
18237466773
2024年3月7日 15:13
负二进制 题解:看大佬们的思路写出来的,做个笔记
P1097
回复 0
|
赞 0
|
浏览 312
#include<bits/stdc++.h> using namespace std; int main(){ // eg:-3/-2=1....-1 若让余数变为1,则商加一,这样使得商等于=(被除数-余数)/除数这个公式平衡 int n; char s[105]; while(scanf("%d",&n)!=EOF){ &...
KeaiXiaoyu
2023年3月9日 16:59
逻辑很简单,但是实现却要小心多多
P1097
回复 3
|
赞 7
|
浏览 3.6k
又是小白系列的题解反思,这题相比以往做过的题目,坑点更多,然后反思和提高也是能让我们不断变强。尽管这题的代码是搁置了两三天最后憋出来的错误的一道经验教训,不过好在最后终于AC了,但难过的是不知道真实考试的时候会不会也有这样敏锐的判断力,接下来开始我们的复盘吧! 1、首先注意题干,在题设之下,余数(也就是负二进制的输出)只有0、1之分,再加上我们从小学就学过的一道公式:被除数➗除数=商+余数;这个公式也是贯穿我们题目始终的一个逻辑;那么随之而来的问题就是,如果碰到余数为负数的存在,应该怎么办,由于余数的限制,那么我们给出的方案就是:余数不可能为0,那么余数就固定为1输出(这个也体现在...
浪到开花
2021年3月2日 17:04
主要是对负数的取余,计算机和我们要求的不一样,要人为改值
P1097
回复 0
|
赞 1
|
浏览 11.3k
//本题难点主要在处理对负二的取余上,如果负数除以-2,取余会得-1 //解决方法是比如(-3)/(-2)计算机得1.......-1,我们认为的将其变为2......1 //将余数变为正1 #include<stdio.h> #include<string.h> int main() { int n; int fuer[105]; while(scanf("%d",&n)!=EOF ) { &n...
厦门大学
2021年2月18日 23:16
负二进制
P1097
回复 0
|
赞 0
|
浏览 7.7k
借鉴别人的,终于理解了 #include <bits/stdc++.h> using namespace std; int main(){ int n; while(cin >> n){ int s[19];//1e5约等于2的19次方,18不行 int cnt = 0; while(1){//不能用n!=0判断,因为n有负...
James
2021年1月16日 16:39
二进制数和负二进制数差别在于向上取整和向下取整
P1097
回复 0
|
赞 0
|
浏览 10.8k
#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.1k
不要忘记考虑输入为“0”的情况,同时要保证连续输入! 若未考虑此情况,可能导致0%数据通过
做一个和尚
2020年3月31日 00:58
简单的解题思路
P1097
回复 4
|
赞 2
|
浏览 12.8k
模拟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;...
1
2
题目
负二进制
题解数量
11
发布题解
热门题解
1
逻辑很简单,但是实现却要小心多多
2
1097负二进制
3
简单的解题思路
4
找规律蒙对了感觉
5
主要是对负数的取余,计算机和我们要求的不一样,要人为改值
6
负二进制(可能的Wrong Answer原因)
7
二进制数和负二进制数差别在于向上取整和向下取整
8
负二进制 题解:AC
9
负二进制 题解:看了大佬的解释
10
负二进制