Comments on Convert to Hexadecimal
Parent
Convert to Hexadecimal
+1
−1
Challenge
Write a program that takes in a number greater than or equal to 0 and outputs its representation in hexadecimal (base 16).
Examples
0 => 0
1 => 1
10 => A
15 => F
16 => 10
107 => 6B
153 => 99
207 => CF
1000 => 3E8
10381 => 288D
48821 => BEB5
Rules
- No built-in hexadecimal functions.
- More generally, any base conversion function is considered to be disallowed.
- Letters can be uppercase or lowercase.
- It should work at least for all inputs greater than 0 up to the language's default type limit.
- Leading zeros in the output is fine. (i.e.
000003E8
for 32-bit numbers) - This is [code-golf], so shortest code wins.
Post
+2
−0
Vyxal, 24 bytes
16ʀẋfÞ×'ẏ16$e*∑?=;hṘk6i∑
All this when just H
, 16R
, or even k6τ
would have sufficed.
Times out for every input > 100
Explained
16ʀẋfÞ×'ẏ16$e*∑?=;hṘk6i∑
16ʀẋ # Repeat the range [0, 16) (input) times.
f # And flatten into a single list.
Þ× # Get every possible combination with repetition of all possible lengths.
# (This is why it times out for large inputs)
# (Because it needs to be long enough to have the correct output in theory)
' ; # Keep combinations where:
ẏ16$e*∑ # (x_0 * 16 ^ 0) + (x_1 * 16 ^ 1) + (x_2 * 16 ^ 2) + ...
= # equals
? # the input
h # Get the first combination
k6i # And get the corresponding characters in the string "0123456789ABCDEF"
∑ # Join into a single string
💎
Created with the help of Luminespire.
2 comment threads