您的答案為: 1 152131 ...略 正確答案為: 1 1
您的答案為: 6 -16355 ...略 正確答案為: 6 3
#include<iostream>
#include<math.h>
using namespace std;
string dec_to_bin(int a){
string s="";
while(a>0){
if(a%2==1){
s = '1' + s;
a/=2;
}
else{
s = '0' + s;
a/=2;
}
}
return s;
}
int hex_to_dec(int a){
int i=0,dec=0;
while(a>0){
dec += (a%10) * pow(16,i);
a/=10;
i+=1;
}
return dec;
}
int cnt_bits(string a){
int cnt;
for(int i=0;i<a.length();++i){
if(a[i]=='1'){
cnt+=1;
}
}
return cnt;
}
int main(){
int T;
cin >> T;
while(T--){
int n,dec_cnt,hex_cnt;
string s;
cin >> n;
s = dec_to_bin(n);
dec_cnt = cnt_bits(s);
n = hex_to_dec(n);
s = dec_to_bin(n);
hex_cnt = cnt_bits(s);
cout << dec_cnt << " " << hex_cnt << endl;
}
}
int cnt;
cnt沒有設定初始值
int cnt;
cnt沒有設定初始值
謝謝XD 我太粗心了