這個題弄了我半天,最後終於算是出答案了,可是在提交的時候卻超時了,然後我放棄了,查了大佬的題解報告,粘在這裡,方便以後複習
1 #include2 #include34char h[100002], b[400002], e[400002];5
intmain() 21}
22int x = 0, cnt = 1;23
int l = 0;24
for (i = 0; i)
32else36}
37 i = l - 1;38
while (i >= 0 && e[i] == '0'
)39/*去掉前導0
*/40 i--;
41if (i<0
)42 printf("0"
);43
for (; i >= 0; i--)
46 printf("\n"
);47}48
return0;
49 }
個人覺得很不錯的部分有很多,比如處理字元轉為2進製,再在迴圈的基礎上用判斷的語句巧妙轉為8進製
十六進製制轉八進位制
時間限制 1.0s 記憶體限制 512.0mb 問題描述 給定n個十六進製制正整數,輸出它們對應的八進位制數。輸入格式 輸入的第一行為乙個正整數n 1 n 10 接下來n行,每行乙個由0 9 大寫字母a f組成的字串,表示要轉換的十六進製制正整數,每個十六進製制數長度不超過100000。輸出格式 輸...
十六進製制轉八進位制
問題描述 給定n 個十六進製制正整數,輸出它們對應的八進位制數。輸入格式 輸入的第一行為乙個正整數n 1 n 10 接下來 n行,每行乙個由 0 9 大寫字母 a f組成的字串,表示要轉換的十六進製制正整數,每個十六進製制數長度不超過 100000 輸出格式 輸出n 行,每行為輸入對應的八進位制正整...
十六進製制轉八進位制
資料很大 因此直接考慮用字串陣列來儲存十六進製制和八進位制 先根據 四位一體 的方法將十六進製制轉化為二進位制,而後根據 三位一體 將二進位制轉化為八進位制。include includeint main else if a i 1 else if a i 2 else if a i 3 else ...