#32041: 土法煉鋼


xig1517 (超級小蛇)

學校 : 元智大學
編號 : 142909
來源 : [140.138.224.30]
最後登入時間 :
2023-12-27 20:25:18
e545. 10019 - Funny Encryption Method -- UVA | From: [36.224.87.9] | 發表日期 : 2022-09-09 21:09

十進位到二進位很簡單 就不說了

十六進位轉十進位 再從十進位轉成二進位
int tran16To10 (int num) {
    int result = 0;
    stack<int> numbers;
    while (num) {
        numbers.push(num%10);
        num/=10;
    }
    while (!numbers.empty()) {
        result += numbers.top()*(pow(16,(numbers.size()-1)));
        numbers.pop();
    }
    return result;
}

最後要計算1的數量時 二進位的值可以用stack裝
while (!stack2b.empty()) {
    if (stack2b.top()) counter2b++;
    stack2b.pop();
}

 
ZeroJudge Forum