为什么这个不对
2023-07-13 08:51:00
发布于:广东
43阅读
0回复
0点赞
为什么这个代码不对啊...
我自己尝试了好多极端数字都没有问题...
变量也为long long 了...
为什么ACGO不给我看它测试的数据...
#include<iostream>
#include<cmath>
using namespace std;
const int N=33;
long long m=0,n,b[N],a[N];
void cnt(){
for(int i=31;i>=0;i--){
if(m>=a[i]){
b[i]++;
m-=a[i];
}
if(m==0){
break;
}
}
}
int main(){
cin>>n;
for(int i=0;i<=32;i++){
a[i]=pow(2,i);
}
if(n<0){
cout<<"-";
m=-n;
}
else{
m=n;
}
cnt();
for(int i=31;i>=0;i--){
cout<<b[i];
}
return 0;
}
啊啊啊为什么
全部评论 4
我发到题解了
2023-07-13 来自 四川
0int a[10001];
int now;
int main()
{
int n;
cin>>n;
for(int i=31;i>=0;i--)
{
cout<<((n>>i)&1);
}
return 0;
}2023-07-13 来自 四川
0#include<iostream>
#include<cstdio>
using namespace std;2023-07-13 来自 四川
0暂时看不出你哪里错了,可以借鉴下面这代码
2023-07-13 来自 四川
0
有帮助,赞一个