藍橋杯python 基礎練習10 十進位制轉十六進製制

2021-10-02 19:50:01 字數 1462 閱讀 7744

問題描述

十六進製制數是在程式設計時經常要使用到的一種整數的表示方式。它有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

思路:將數字對16取餘,如果大於等於10,那麼將他的餘數用chr()函式轉換為所得的字母,

如果小於10,直接將餘數輸出即可。

while

true

:try

: a =

int(

input()

)if a==0:

print(0

)else

: s=

while a:

m = a%

16 a =

int(a/16)

if m>=10:

chr(m+55)

)else

:for i in

range

(len

(s))

:print

(s[len

(s)-i-1]

,end ='')

except

:break

思路:既然對16取餘後結果大於9都是字元,那麼我們可以將所得的情況全部列數來。然後全部放入乙個列表中。該方法好想,思路簡單,只不過做起來費時。
a =

num =

int(

input()

)if num ==0:

print(0

)while

(num !=0)

:if num%

16<=9:

16)else

:if num%

16==10:

i ='a'elif num %

16==11:

i ='b'elif num%

16==12:

i ='c'elif num%

16==13:

i ='d'elif num%

16==14:

i ='e'elif num%

16==15:

i ='f' num = num//

16a.reverse(

)for j in a:

print

(j,end=

'')

藍橋杯 基礎練習

basic 1 閏年判斷 給定乙個年份,判斷這一年是不是閏年。當以下情況之一滿足時,這一年是閏年 年份是4的倍數而不是100的倍數 年份是400的倍數。include using namespace std intmain basic 2 01字串 對於長度為5位的乙個01串,每一位都可能是0或1,...

藍橋杯 基礎練習

模擬。include using namespace std intmain 五重迴圈列舉或dfs均可。include using namespace std string s 00000 void dfs int dep s dep 0 dfs dep 1 s dep 1 dfs dep 1 in...

藍橋杯 基礎練習 時間轉換 Python

問題描述 給定乙個以秒為單位的時間t,要求用 h m s 的格式來表示這個時間。h 表示時間,m 表示分鐘,而 s 表示秒,它們都是整數且沒有前導的 0 例如,若t 0,則應輸出是 0 0 0 若t 3661,則輸出 1 1 1 輸入格式 輸入只有一行,是乙個整數t 0 t 86399 輸出格式 輸...