首页
DreamJudge
院校信息
考研初试
考研复试
保研专区
讨论区
兑换中心
登录
注册
上岸
以下题解仅供学习参考使用。
抄袭、复制题解,以达到刷AC率/AC数量或其他目的的行为,在N诺是严格禁止的。
N诺非常重视学术诚信。此类行为将会导致您成为作弊者。具体细则请查看N诺社区规则。
ZeroQi_404
2026年3月14日 23:19
负二进制 题解:
P1097
回复 0
|
赞 10
|
浏览 150
#include <iostream> using namespace std; int main(){ int m; while(cin >> m){ if(m==0){ cout << 0 <<endl; continue; } string s; while(m!=0){ int r = m % (-2); m /=-2; if(r<0){ r +=2; m +=1; } ...
岸上的乌龟
2026年3月13日 12:47
负二进制 题解:余数为-1,怎么写对应的二进制字符串?
P1097
回复 0
|
赞 14
|
浏览 218
-3➗-2=1...-1,也就是-3=(-2)*1+(-1)=(-2)*2+1; 也就是说,-3可由1个-2和一个-1组成,转换成-3可由2个-2和一个1组成,即-3➗-2=2...1; 将转换后的1看做余数,再将2当作下次操作的除数。 #include<bits/stdc++.h> using namespace std; int main() { int m; while(cin>>m) { ...
Cat111
2026年3月5日 15:28
负二进制 题解:
P1097
回复 0
|
赞 27
|
浏览 466
#include <bits/stdc++.h> using namespace std; int main(){ int n; while(scanf("%d",&n)!=EOF){ int num[1005]; int arc=0; if(n==0) { printf("0\n"); continue; } while(n!=0){ num[arc]=n%(-2); n/=-2; if(num[arc]<0){ num[arc]+=2; n+...
mlx
2026年2月5日 23:16
负二进制 题解:
P1097
回复 0
|
赞 40
|
浏览 663
#include<iostream> #include<algorithm> #include<vector> using namespace std; int n; int main() { while(cin>>n) { vector<int> num; if(n==0) { cout<<0<<endl; continue; } while(n) { int x=n%-2; n/=-2; if...
bro
2026年1月21日 21:28
负二进制 题解:c++
P1097
回复 0
|
赞 29
|
浏览 551
#include <bits/stdc++.h> using namespace std; //十进制转负二进制 int main(){ int num; while(cin >> num){ if(num == 0) { cout<<"0"<<endl; &nb...
18919717626
2025年7月26日 17:20
负二进制 题解:
P1097
回复 0
|
赞 12
|
浏览 985
#include <iostream> #include <cstring> using namespace std; const int N = 10010; int m, cnt, c; int w[N]; int main() { while (cin >> m) { if (m == 0) cout << 0 << endl; else { memset(w, 0, sizeof w); cnt = 0; while (m != 0...
无名1
2025年6月25日 16:03
负二进制 题解:C++
P1097
回复 0
|
赞 35
|
浏览 1.3k
#include<bits/stdc++.h> using namespace std; int main(){ int n; while(cin>>n){ int m; string s; if(n==0){ cout<<"0"; }else{ while(n!=0){ m=n%(-2); n=n/(-2); if(m<0){ m=1; n++; } s=s+to_string(m); } for...
Jayho
2025年3月29日 22:05
负二进制 题解:
P1097
回复 0
|
赞 5
|
浏览 1.1k
暴力枚举 把一个变量从1开始递增,转化为二进制进行基数为-2的运算,所得结果与输入数比较。但是比较耗时。。。 #include<bits/stdc++.h> using namespace std; string judge(int n) { if (n == 0) return "0"; int k = 1; while (1) { &nbs...
诗岸梦行舟
2025年3月24日 23:34
负二进制 题解:递归实现
P1097
回复 0
|
赞 18
|
浏览 1.3k
#include<stdio.h> void fer(int x) { if(x==0) return; int chu=x/(-2); int yu=x%(-2); if(yu<0) { yu+=2; chu+=1; } fer(chu); printf("%d",yu); } int main() { int a; while(scanf("%d",&a)!=EOF){ if (a == 0) { printf("0"); } else { fer(a); } ...
西电机试专家
2025年3月23日 10:20
负二进制 题解:二进制除基取余轻微改写
P1097
回复 0
|
赞 28
|
浏览 1.4k
eg:正常来说-3%-2=1······-1;那么经过我们本题的逻辑后,就应为-3%-2=2······1;而若2%-2=1······0,则正常的继续运算 #include<bits/stdc++.h> using namespace std; int main(){ //...
1
2
3
题目
负二进制
题解数量
25
发布题解
在线答疑
热门题解
1
逻辑很简单,但是实现却要小心多多
2
负二进制 题解:
3
负二进制 题解:
4
负二进制 题解:
5
负二进制 题解:C++
6
负二进制 题解:c++
7
负二进制 题解:二进制除基取余轻微改写
8
负二进制 题解:
9
负二进制 题解:递归实现
10
负二进制 题解: