B-base2
错误代码:无论在哪种数据类型中(int,long,long long,double,float,short)都有一个符号位,
这个符号位会减小可存储的数据大小,导致数据类型无法存储。在本题中,共有64个输入,一旦第64个输入为1,long long便无法存储,须去掉符号位,即加上unsigned。
#include<bits/stdc++.h>
using namespace std;
long long sum=0,b=1;
int a;
int main(){
for(int i=0;i<64;i++){
cin>>a;
if(a==1){
sum+=b;
}
b*=2;
}
cout<<sum;
return 0;
}
正确代码: