## 十进制转十六进制

时间限制: 1Sec 内存限制: 128MB 提交: 511 解决: 235

提交地址：

https://www.dotcpp.com/oj/problem2083.html

**题目描述**

```
十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有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
```

### 法一


```
def f (num,n):
    baseStr={}
    for i in range(10,n):
        baseStr[i]=chr(i-10+65)
    re=''
    if num==0:
        return 0
    while num!=0:
        temp=num%n
        if temp>9:
            re=baseStr[temp]+re
        else:
            re=str(temp)+re
        num//=n
    return re
print(f(int(input()),16))
```

    30
    1E


### 法二


```
a=int(input())
print ('{:x}'.format(a).upper())
```

    30
    1E

