iT邦幫忙

2025 iThome 鐵人賽

DAY 14
0
自我挑戰組

cpe30天練習系列 第 14

cpe練習day14

  • 分享至 

  • xImage
  •  

今天是練習cpe的Funny Encryption Method題目

程式碼

#include <iostream>
using namespace std;
 
int main() 
{
    int T, N;
    cin >> T;
    while (T--)
	{
        cin >> N;
        int x1 = N;
        int b1 = 0;
        while(x1>0)
        {
        	b1 += x1 % 2;
        	x1/= 2;
		}
		x1 = N;
 		int x2 = 0;
        int m=1;
        while(x1>0)
        {
        	x2 += (x1 % 10) * m;
        	x1/=10;
        	m*=16;
		}
		int b2 = 0 ;
		while(x2 > 0)
        {
        	b2 += x2 % 2;
        	x2 /= 2;
		}
        cout << b1 << " " << b2 <<endl;
    }
    return 0;
}

##解題方向

  • 迴圈會跑 T 次,每次處理一個 N
  • b1 += x1 % 2; -> 取出最後一位,如果是1就加到b1
  • x1 /= 2; -> 去掉最後一位
  • x2 += (x1 % 10) * m; -> 取出最後一位數,當成16進位的數字
  • m *= 16; -> 是因為要把數字當成16進位數字來轉換成十進位,所以每往左一位,它的權重要乘以16

上一篇
cpe練習day13
下一篇
cpe練習day15
系列文
cpe30天練習15
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言