很有意思。開始沒注意題直接 %x %o
然後看到了「這個16進製制的數長度不超過100000」,妥妥又是高精度問題。
還有個錯誤就是把二進位制左右反了,導致半天找不出錯。
然後就把二進位制打出來,找到了。
大體思路就是16->2->8 如 :f -> 1111 -> 17;ff ->1111 1111 -> 011 111 111-> 377
貼上**
#include#includebool a[100000001];
int b[1000001];
int shift(char *str)
while(k!=tmp)
a[tmp--]=0;
k+=4;
}/*while(k)
printf("%d",a[k--]);
printf("\n");*///打出二進位制
for(i=k;i>0;)
for(i=j-1;i>=0;i--)if(b[i])break;//去掉前導0
while(i>=0)
printf("%d",b[i--]);
printf("\n");
}int main()
16進製制轉8進製
16進製制轉8進製 思路 16進製制轉成2進製串,2進製串從後每3位轉成8進製串 include include define maxn 10 define maxlength 100000 int main else bi k 0 if temp 4 else bi k 0 if temp 2 e...
16進製制轉2進製再轉8進製
藍橋杯刷題計畫,由於最大有十萬位16進製制數,所以直接選擇整形是無法儲存的,考慮到16進製制,8進製,2進製之間的關係,所以我們選擇,先轉2進製,再有2進製轉換為8進製。由於,一位16進製制數對應4位2進製數,一位8進製數對應3位2進製數,於是,我們可以用先用map進行乙個對映儲存,便於直接取用。另...
藍橋杯 16進製制轉8進製
十萬位16進製制轉8進製 一 概述 在藍橋杯的練習系統解決了一道題 16進製制轉八進位制,乍一看感覺很簡單,然而提交後顯示錯誤好幾遍後才知道它的測試資料裡有乙個十萬位的16進製制數,暈.二 主要思路 根據3個十六進製制為與4個八進位制位一一對應的關係 將目標字串每三個字元一組,轉成十進位制 再直接用...