## A - 484558 Editorial by en_translator

If you are new to learning programming and do not know where to start, please try Problem A “Welcome to AtCoder” from practice contest. There you can find a sample code for each language.

Also, if you are not familiar with problems in programming contests, we recommend you to try some problems in “AtCoder Beginners Selection” (https://atcoder.jp/contests/abs).

「競プロ典型 90 問」(Typical 90 Problems of Competitive Programming) (https://atcoder.jp/contests/typical90) is a collection of typical 90 competitive programming problems; unfortunately, currently the problem statements are all Japanese.

「C++入門 AtCoder Programming Guide for beginners (APG4b)」(https://atcoder.jp/contests/APG4b) is a C++ tutorial for competitive programmers. Sadly, this is only in Japanese too.

This problem can be solved as follows.

- Find which of \(0,1,2,\ldots,15\) is each of the digit in the two-digit hexadecimal notation of \(N\).
- Convert the found digit into a hexadecimal ones
`0123456789ABCDEF`

and print it.

### Finding it each

“Finding each digit in the two-digit hexadecimal notation of \(N\)” is equivalent to:

- finding integers \(a\) and \(b\) between \(0\) (inclusive) and \(16\) (exclusive) such that \(N=16a+b\).

This is found by \(a=\lfloor \frac{N}{16} \rfloor, b=N \bmod 16\). In C++, you can express them as follows:

```
a = N/16, b = N%16;
```

### Printing digits as hexadecimal ones

If \(a\) and \(b\) is \(9\) or less, you may directly print it. If it is \(10\) or more, you need to print `A`

for \(10\), `B`

for \(11\), \(\ldots\), but in C++ you can find the uppercase English letter corresponding to \(a\) as follows:

```
(char)('A' + (a-10))
```

Therefore, you may find the desired output while checking each of \(a\) and \(b\).

### Sample code (C++)

```
#include <bits/stdc++.h>
using namespace std;
int main() {
int N;
cin>>N;
int a,b;
a = N/16, b = N%16;
if(a<=9)cout<<a;
else cout<<(char)('A'+a-10);
if(b<=9)cout<<b;
else cout<<(char)('A'+b-10);
return 0;
}
```

posted:

last update: