一、十六進製制轉八進位制
問題描述
給定n個十六進製制正整數,輸出它們對應的八進位制數。
輸入格式
輸入的第一行為乙個正整數n (1<=n<=10)。
接下來n行,每行乙個由0~9、大寫字母a~f組成的字串,表示要轉換的十六進製制正整數,每個十六進製制
數長度不超過100000。
輸出格式
輸出n行,每行為輸入對應的八進位制正整數。
【注意】
輸入的十六進製制數不會有前導0,比如012a。
輸出的八進位制數也不能有前導0。
樣例輸入
2
39
123abc
樣例輸出
71
4435274
【提示】
先將十六進製制數轉換成某進製數,再由某進製數轉換成八進位制。
**:
#include #include int b[1000005];
char s[1000005];
int main()
else
j = 3;
k = 4 * i;
while(j > -1)
}len = len * 4 -1;
j = 0;
while(len >= 2)
i = 0;
temp = 0;
while(i <= len)
if(temp != 0)
else
for(j;j>= 0;j--)
printf("\n");
} return 0;
}
二、十六進製制轉十進位制
問題描述
從鍵盤輸入乙個不超過8位的正的十六進製制數字串,將它轉換為正的十進位制數後輸出。
注:
十六進製制數中的10~15分別用大寫的英文本母a、b、c、d、e、f表示。
樣例輸入
ffff
樣例輸出
65535
**:
#include #include #include int main()
else
r += temp * pow(16*1.0,len-1-i); }
printf("%lld",r);
return 0;
}
三、十進位制轉十六進製制
問題描述
十六進製制數是在程式設計時經常要使用到的一種整數的表示方式。
它有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f共16個符號,分別表示十進位制數的0至15。
十六進製制的計數方法是滿16進1,所以十進位制數16在十六進製制中是10,而十進位制的17在十六進製制中是11,
以此類推,十進位制的30在十六進製制中是1e。
給出乙個非負整數,將它表示成十六進製制的形式。
輸入格式
輸入包含乙個非負整數a,表示要轉換的數。0<=a<=2147483647
輸出格式
輸出這個整數的16進製表示 樣例輸入 30 樣例輸出 1e
**:
#include #include int main()
else
i++;
n = n / 16; }
s[i] = '\0';
if(s[0] == '\0')
else
}printf("\n");
return 0;
}
藍橋杯進製轉換
問題描述 我們可以用這樣的方式來表示乙個十進位制數 將每個阿拉伯數字乘以乙個以該數字所處位置的 值減 為指數,以 為底數的冪之和的形式。例如 可表示為 這樣的形式。與之相似的,對二進位制數來說,也可表示成每個二進位制數碼乘以乙個以該數字所處位置的 值 為指數,以 為底數的冪之和的形式。一般說來,任何...
藍橋杯 進製轉換
問題描述 編寫函式將十進位制整數按8進製輸出,然後編寫main函式驗證該函式。例如輸入12,則輸出為 12 014,輸入32,則輸出32 040。輸入格式 輸入乙個整數。輸出格式 輸出這個整數的八進位制形式。方法使用除基取餘法。利用陣列,將每次除基取的餘數儲存在陣列中,注意最後資料輸出的陣列下標。i...
藍橋杯 演算法提高 進製轉換
演算法提高 進製轉換 時間限制 1.0s 記憶體限制 256.0mb 問題描述 程式提示使用者輸入三個字元,每個字元取值範圍是0 9,a f。然後程式會把這三個字元轉化為相應的十六進製制整數,並分別以十六進製制,十進位制,八進位制輸出。輸入格式 輸入只有一行,即三個字元。輸出格式 輸出只有一行,包括...