숫자를 16 진수로 변환


23

도전

여기 간단한 것이 있습니다.

기수 10에 숫자를 입력으로 받으면 함수 또는 프로그램을 쓰십시오 . 16 진수로 해당 숫자의 값을 반환하거나 인쇄합니다 .

예

15 -> F
1000 -> 3E8
256 -> 100

규칙

  • 16 진 함수가 내장되어 있지 않습니다
  • 문자는 소문자 또는 대문자 일 수 있습니다
  • 음수가 아닌 정수, 음수 또는 성가신 소수 만 걱정하면됩니다.
  • 언어의 기본 유형 한도까지 임의로 많은 수를 사용할 수 있습니다.
  • 필수가 아닌 개행
  • 평소와 같이 이것은 이므로 바이트 단위로 측정 된 가장 짧은 코드가 승리합니다!

첫 번째 문제는 당신이 즐기시기 바랍니다!
— 랜덤 가이

5
출력에서 선행 0을 허용 000003E8합니까 ( 예 : 32 비트 숫자) ?
— nimi

입력에 제한이 있습니까?
— Loovjo

1
@nimi 예, 허용됩니다.
— 랜덤 가이

1
재미있는 사실 : C ++에는 16 진수가 내장되어 있습니다.
— Matthew Roh

답변:


4

APL (Dyalog APL) , 17 바이트

⎕IO←0많은 APL 시스템에서 기본값 인 으로 실행해야합니다 .

(⎕D,⎕A)[16⊥⍣¯1⊢⎕]

온라인으로 사용해보십시오!

(⎕D,⎕A)[... ] D 에 연결된 igits lphabet는 다음에 의해 인덱싱 ...

 16⊥⍣¯1  16 대 숫자의 역수, 즉 숫자 대 16의 역수

 ⊢ 에 적용

 ⎕ 숫자 입력


이 17 문자와 약 23 바이트 아닌가요?
— Julie Pelletier

1
@JuliePelletier 아니요, Dyalog APL은 자체 256 자 코드 페이지를 사용합니다.
— Adám

오! 알아 둘만 한.
— Julie Pelletier

14

튜링 머신 코드, 412 바이트

평소와 같이 여기에 정의 된 규칙 테이블 구문을 사용하고 있습니다. 해당 사이트에서 또는 이 Java 구현을 사용하여 테스트 할 수 있습니다 .

0 * * l B
B * * l C
C * 0 r D
D * * r E
E * * r A
A _ * l 1
A * * r *
1 0 9 l 1
1 1 0 l 2
1 2 1 l 2
1 3 2 l 2
1 4 3 l 2
1 5 4 l 2
1 6 5 l 2
1 7 6 l 2
1 8 7 l 2
1 9 8 l 2
1 _ * r Y
Y * * * X
X * _ r X
X _ _ * halt
2 * * l 2
2 _ _ l 3
3 * 1 r 4
3 1 2 r 4
3 2 3 r 4
3 3 4 r 4
3 4 5 r 4
3 5 6 r 4
3 6 7 r 4
3 7 8 r 4
3 8 9 r 4
3 9 A r 4
3 A B r 4
3 B C r 4
3 C D r 4
3 D E r 4
3 E F r 4
3 F 0 l 3
4 * * r 4
4 _ _ r A

베이스 16의 0부터 카운트하는 동안베이스 10의 입력에서 카운트 다운합니다. 0을 줄이면 입력 블록이 지워지고 종료됩니다.


이것은 정말 멋지다, 10*n + 33임의의 완료를 위해 지시를 받는다 n. 그래도 코드를 이해하지 못합니다.
— 매직 문어 Urn

@MagicOctopusUrn 처음에 0을 포함하는 입력 왼쪽에 새 셀 블록을 만듭니다. 그런 다음 빈 셀을 줄이려고 할 때까지 16 번 기지의 출력 블록을 늘리면서 10 번 기지의 입력 블록을 반복적으로 줄입니다. 감소주기 (입력 블록이 이제 0임을 알려줍니다)에서 정지하기 전에 테이프를 정리합니다 (출력 만 테이프에 남아 있음).
— SuperJedi224

@MagicOctopusUrn 또한 런타임에 대한 방정식이 잘못되었습니다 (정확한 일반 방정식이 무엇인지 모르겠지만 분명히 그렇지 않습니다). 예를 들어 2를 입력하여 사용해보십시오.
— SuperJedi224

아마 아닐 것입니다. 그래도 높은 가치를 위해 가까운 것으로 보였다. 나는 그것에 대해 아무것도 모르고 패턴을 보려고했습니다.
— 매직 문어 Urn

9

자바, 92 89 바이트

String x(int v){String z="";for(;v>0;v/=16)z="0123456789ABCDEF".charAt(v%16)+z;return z;}

9

자바 스크립트, 49 43 바이트

h=i=>(i?h(i>>4):0)+"0123456789abcdef"[i%16]

user81655가 6 바이트를 절약했습니다 .

여기에서 테스트 하십시오 .

여기에는 규칙에 의해 허용되는 두 개의 선행 0이 있습니다.

앞에 0이없는 버전은 다음과 같습니다 (47 바이트).

h=i=>(i>15?h(i>>4):"")+"0123456789abcdef"[i%16]

여기에서 테스트 하십시오 .

이 두 가지 모두 내 파이썬 답변 과 정확히 동일한 접근법을 사용합니다 .


이진 AND를 사용하십시오. i&15자동으로 정수로 변환되어 소수를 버립니다. 필요 없음~~
— edc65

나는 3 바이트와 하나의 선행 0을 저장했습니다 :h=i=>i&&h(i>>4)+"0123456789abcdef"[i&15]
— Neil

8

CJam, 22 21 바이트

ri{Gmd_A<70s=+\}h;]W%

1 바이트를 골라 낸 @ MartinBüttner에게 감사드립니다!

온라인으로 사용해보십시오!

작동 원리

ri                      e# Read an integer from STDIN.
  {             }h      e# Do:
   Gmd                  e#   Push qotient and residue of the division by 16.
      _A<               e#   Check if the residue is less than 10.
         70s            e#   Push "70".
            =           e#   Select the character that corresponds to the Boolean.
             +          e#   Add the character to the digit.
                        e#   This way, 10 -> 'A', etc.
               \        e#   Swap the quotient on top of the stack.
                        e# While the quotient is non-zero, repeat the loop.
                  ;     e# Pop the last quotient.
                   ]W%  e# Reverse the stack.

5
동일한 바이트 수 :ri{Gmd_9>7*sc+\}h;]W%
— Martin Ender

6

Pyth, 33 26 21 20 바이트

재미있었습니다.

sm@+jkUTGi_d2_c_.BQ4

온라인으로 사용해보십시오.

설명 :

                .BQ      Convert input to a binary string, e.g. 26 -> '11010'
             _c_   4     Reverse, chop into chunks of 4, and reverse again. We reverse 
                         because chop gives a shorter last element, and we want a shorter
                         first element: ['1', '0101']
                         Reversing three times is still shorter than using .[d4 to pad the
                         binary string to a multiple of 4 with spaces.
 m                       Map across this list:
         i_d2                Take the value of the reversed string in binary,
  @                          and use it as an index into the string:
   +jkUTG                    '0123456789abcdefghijklmnopqrstuvwxyz'
                             (The alphabet appended to the range 0 to 10)
s                        Concatenate to create the final string.

설명을 추가 할 수 있습니까?
— TanMath

물론, 어느쪽에 관심이 있습니까?
— Luke

가장 흥미로운 답변! 그것은 그들 모두를위한 포스트의 설명에 좋은 아이디어이지만) 그것은 ... 중요하지 않습니다
— TanMath

5

C (기능), 51

재귀 함수는 입력 정수를 매개 변수로 사용합니다.

f(n){n>>4?f(n>>4):0;n&=15;n+=n>9?55:48;putchar(n);}

테스트 드라이버 :

#include <stdio.h>

f(n){if(n>>4)f(n>>4);n&=15;n+=n<10?48:55;putchar(n);}

int main (int argc, char **argv) {

    f(15);puts("");
    f(1000);puts("");
    f(256);puts("");
    f(0);puts("");

    return 0;
}

5

하스켈, 59 58 43 41 39 바이트

s="0123456789ABCDEF"
(sequence(s<$s)!!)

사용 예 : sequence(s<$s)!!) $ 1000-> "00000000000003E8".

최대 16 개의 16 진수까지 모든 16 진수 목록을 만듭니다. 운 좋게 이것은 순서대로 발생하므로 간단히 n하나만 선택할 수 있습니다 .

편집 : @Mauris는 2 바이트를 압착했습니다. 감사!


Dat list monad doe
— Daenyth

@Daenyth : 저는 Monad에서 Functor로 전환했습니다
— nimi

어때s="0123456789ABCDEF";(sequence(s<$s)!!)
— Lynn

@ 모리스 : 굉장!
— nimi

4

dc, 37

?[16~rd0<m]dsmxk[A~r17*+48+Pz0<p]dspx

재귀 적으로 16만큼 divmods하고 남을 부분이 남을 때까지 나머지 부분을 스택으로 밀어 넣습니다. 그런 다음 divmod를 10 씩 사용하여 스택의 각 요소를 인쇄하여 AF 숫자를 얻습니다. 아마 내일 더 자세한 내용은 ... (그리고 희망적으로 더 적은 바이트).


4

파이썬, 59 58 바이트

h=lambda i:(i>15 and h(i/16)or'')+"0123456789abcdef"[i%16]

CarpetPython에 의해 1 바이트 절약

다음으로 실행 : print h(15)

여기에서 테스트 하십시오 (Ideone.com).

설명:

h=lambda i:                                                 # Define h as a function that takes two arguments
           (i>15 and h(i/16)or'')                           # Evaluate h(i/16) if i > 15, else, give ''
                                 +"0123456789abcdef"[i%16]  # Append (i%16)'th hexadecimal number.

1
잘 하셨어요. 로 다른 바이트를 저장할 수도 있습니다 h=lambda i:(i>15 and h(i/16)or'')+"0123456789abcdef"[i%16].
— 논리 기사

정말 좋은 일, 당신은 다음과 같이 다른 두 가지를 구할 수 있습니다.h=lambda i:(i>15 and h(i/16)or'')+chr(48+i%16+i%16/10*7)
— Willem


3

배쉬 (기능), 62

재귀 사용을 제안하는 @manatwork에게 감사합니다.

h()(x=({0..9} {A..F})
echo `(($1>15))&&h $[$1/16]`${x[$1%16]})

좋은. 그러나 재귀적인 방법은 여전히 ​​더 짧은 것 같습니다 :h(){ x=({0..9} {A..F});echo `(($1>15))&&h $[$1/16]`${x[$1%16]}; }
— manatwork

1
@manatwork Nice-감사합니다! 어떤 이유로 든 다른 답변에 사용하더라도 bash에서 재귀를 시도하는 것을 잊어 버립니다. 사용 ()대신 { ;}함수 본체 주변은 저장 훨씬 더 :)
— 디지털 외상

3

펄 6 ,  53  48 바이트

{[R~] (0..9,'A'..'F').flat[($_,*div 16...^0)X%16]||0}
{[R~] (0..9,'A'..'F').flat[.polymod(16 xx*)]||0}

div결과가 시퀀스에서 0제외 될 때까지 정수로 나눈 값 시퀀스 ( )를 만듭니다.0

$_, * div 16 ...^ 0

그런 다음 X모듈러스 연산자 ( %)를 사용하여 해당 시퀀스 를 교차 ( )합니다.16

( … ) X[%] 16

그것은 두 개의 범위로 이루어지는 평탄화리스트로의 인덱스로서 그 값을 사용 0..9하고'A'..'Z'

( 0 .. 9, 'A' .. 'Z' ).flat[ … ]

마지막으로 ~역 ( R) 메타 연산자를 사용하여 연결합니다 ( ).

[R[~]] …

그 결과 False 값 (빈 문자열)이 발생하면 0

… || 0

용법:

# (optional) give it a lexical name for ease of use
my &code = { … }

say <15 1000 256 0>.map: &code;
# (F 3E8 100 0)

say code 10¹⁰⁰;
# 1249AD2594C37CEB0B2784C4CE0BF38ACE408E211A7CAAB24308A82E8F10000000000000000000000000

2

MATL , 27 바이트

i`16H#\wt9>?7+]wt]xN$hP48+c

이 문제보다 빠른 언어 / 컴파일러 릴리스 5.1.0 을 사용합니다 .

예

>> matl
 > i`16H#\wt9>?7+]wt]xN$hP48+c
 >
> 1000
3E8

설명

i              % input number
`              % do...
  16H#\        % remainder and quotient of division by 16
  w            % move remainder to top of stack
  t9>          % does it exceed 9?
  ?            % if so
    7+         % add 7 (for letter ASCII code)
  ]            % end if
  w            % move quotient back to the top
  t            % duplicate 
]              % ...while (duplicated) quotient is not zero
x              % delete last quotient (zero)
N$h            % create vector of all remainders 
P              % flip vector
48+c           % add 48 and convert to char (will be implicitly displayed)

2

𝔼𝕊𝕄𝕚𝕟, 31 자 / 62 바이트

↺a=⬯;ï;ï≫4@a=⩥ḊĀⒸª⩥⁽ṁṇ⸩⨝[ï%Ḑ]+a

Try it here (Firefox only).

좋아, 나는 골프를 치는 더 많은 것들을 알아 냈다.

설명

본질적으로 @ SuperJedi224의 ES6 솔루션과 동일한 솔루션이지만 다른 점이 있습니다.

참조 ⩥ḊĀⒸª⩥⁽ṁṇ⸩⨝? 정말 멋진 글쓰기 방법입니다 "0123456789ABCDEF". ⩥Ḋ0에서 10까지의 범위를 Ⓒª⩥⁽ṁṇ⸩만들고 65에서 71까지의 범위를 만들어 ASCII 문자열로 변환 한 Ā...⨝다음 두 범위를 연결하여 하나의 문자열로 결합합니다. 이것은 아마도 내 솔루션의 가장 멋진 부분 일 것입니다.

보너스 비경쟁 버전, 24 자 / 45 바이트

↺;ï;ï≫4@ᵴ=(⩥Ḋ⨝+ᶐ)[ï%Ḑ]+ᵴ

Pyth에서와 같이 알파벳 문자열을 추가하기로 결정했습니다.


2

sed, 341 바이트

:
s/\b/_/2
s/[13579]/&;/g
y/123456789/011223344/
s/;0/5/g
s/;1/6/g
s/;2/7/g
s/;3/8/g
s/;4/9/g
s/;_;_;_;_/=/
s/;_;_;__/+/
s/;_;__;_/:/
s/;_;___/>/
s/;__;_;_/</
s/;__;__/?/
s/;___;_/(/
s/;____/*/
s/_;_;_;_/-/
s/_;_;__/^/
s/_;__;_/%/
s/_;___/$/
s/__;_;_/#/
s/__;__/@/
s/___;_/!/
s/____/)/
/[1-9_]/b
y/)!@#$%^-*(?<>:+=/0123456789ABCDEF/
s/^0*//

이 문제에 대한 명확한 언어는 아니지만 4000 자리와 시스템의 사용 가능한 (가상) 메모리 제한 사이에서 (구현에 따라) 입력 번호를 지원하는 이점이 있습니다. 약 0.6 초 안에 RSA-1024를 16 진수로 변환 했으므로 확장 성이 합리적입니다.

연속적인 2 나누기를 사용하여 4 비트의 캐리를 16 진수로 누적합니다. 문자가 아닌 문자를 사용하여 출력을 나타내므로 항상 10 진수 입력과 16 진수 출력 사이에 캐리를 누적하고 맨 끝에 일반적인 16 진수로 변환합니다.


2

PHP, 65 66 64 + 1 62 59 바이트

function h($n){$n&&h($n>>4);echo"0123456789abcdef"[$n&15];}

재귀 인쇄 기능, >16앞에 오는 0을 인쇄합니다 ( &&제거 하기 전에 삽입 )


프로그램, 64 바이트 +1 -R(로 파이프로 실행 -nR)

for(;$n=&$argn;$n>>=4)$s="0123456789abcdef"[$n&15].$s;echo$s?:0;

PHP 5.6 이상이 필요합니다 (5.5는 문자열 리터럴을 색인 할 수 없습니다)

또는

for(;$n=&$argn;$n>>=4)$s=(abcdef[$n%16-10]?:$n%16).$s;echo$s?:0;

PHP 5.6 또는 7.0 필요 (7.1은 음수 문자열 인덱스 이해)


파이프로 실행 -nR하거나 온라인으로 사용해보십시오 .


1
echo+$s입력 0에 대한 더하기 부호가 없습니다.
— Jörg Hülsermann

+.. 그래서 ... 상처를 첫 번째 문자의 출력을 서명?:0
— 디도

1

줄리아, 55 바이트

h(n)=(n>15?h(n÷16):"")"0123456789ABCDEF"[(i=n%16+1):i]

이것이 기본 재귀 함수 구현입니다. 정수를 받아들이고 문자열을 반환합니다.

입력 값이 15보다 작 으면 플로어를 16으로 나누고 재귀하고 그렇지 않으면 빈 줄을 가져갑니다. 적절하게 선택한 16 진수 문자 앞에 이것을 붙입니다.


1

파이어 , 98 바이트

산술 연산자없이 언어로이 작업을 수행하는 것은 실수 일 수 있습니다.

let h=def (n)(if n.gt(15)h(n.div(16).int!)else "").concat("0123456789abcdef".list!.get(n.mod(16)))

다음과 같이 사용하십시오.

do
  let h = ...
  print(h(15))
end

언 골프 드 :

let h = def (n) do
    if n.gt(15) 
        let x = h(n.div(16).int!)
    else 
        let x = ""
    x.concat("0123456789abcdef".list!.get(n.mod(16)))
end

1

루비, 48 자

( Loovjo 의 Python 답변 사본 )

h=->n{(n>15?h[n/16]:'')+[*?0..?9,*?a..?f][n%16]}

샘플 실행 :

2.1.5 :001 > h=->n{(n>15?h[n/16]:'')+[*?0..?9,*?a..?f][n%16]}
 => #<Proc:0x00000001404a38@(irb):1 (lambda)> 
2.1.5 :002 > h[15]
 => "f" 
2.1.5 :003 > h[1000]
 => "3e8" 
2.1.5 :004 > h[256]
 => "100" 

1

정말 35 바이트

,`;4ª@%)4ª@\`╬Xε D`@;7ªD+@9<7*+c+`n

육각 덤프 :

2c603b34a640252934a6405c60ce58ee204460403b37a6442b40393c372a2b632b606e

온라인으로 사용해보십시오

설명:

,                                    Get evaluated input
 `          `╬                       Repeat the quoted function until top of stack is 0
  ;4ª@%                              Make a copy of the number mod 16
       )                             Send it to bottom of stack
        4ª@\                         Integer divide the original copy by 16
              X                      Delete the leftover zero. At this point the stack is 
                                     the "digits" of the hex number from LSD to MSD
               ε                     Push empty string
                 D`              `n  Essentially fold the quoted function over the stack.
                   @;                Roll up the next lowest digit, make a copy
                     7ªD+            Add 48
                         @           Bring up the other copy
                          9<         1 if it's at least 10, else 0
                            7*       Multiply with 7. 
                              +      Add. This will shift 58->65 and so on.
                               c     Convert to character.
                                +    Prepend to current string.

(가) 있습니다 ;7ªD+@9<7*+c에 해당 4ª▀E8 바이트를 절약 할 수있는,하지만 난 문자열이 너무 많이 "내장 heaxadecimal"의 간주 될 수 같은 숫자 나베이스를 못살게 굴지 아마도 기능을 생각했다.


1

자바 스크립트 ES6, 64 58 바이트

v=>eval('for(z="";v;v>>=4)z="0123456789ABCDEF"[v%16]+z')

ן nɟuɐɯɹɐ ן oɯ 및 user81655 덕분에 6 바이트를 절약했습니다.


1
평가 사용 :v=>eval('for(z="";v;v=v/16|0)z="0123456789ABCDEF"[v%16]+z')
— Mama Fun Roll

1
예, 긴 문자열에 atob과 btoa를 사용해보십시오.
— Mama Fun Roll

@ ן nɟuɐɯɹɐ ן oɯ Tried v=>{for(z="";v>0;v=v/16|0)z=btoa``Ó]·ã»óÐ1``[v%16]+z;return z}(이중 물결표는 단일 물결표) ==> 64 자, 71 바이트. 그럴 가치가 없어.
— usandfriends

1
v=v/16|0단지 복잡한 글쓰기 방법입니다 v>>=4.
— user81655

1

베 펀지 -93, 58

&:88+%"0"+:"9"`7*+\8/2/:!#|_#
,_@                       >:#

Befunge에서 진정한 골프 도전을 처음으로 할 때, 나는 두 번째 줄의 중간에있는 모든 공간이 낭비되는 것처럼 보이기 때문에 더 짧은 한 줄짜리가 있다고 확신합니다.

당신은 여기를 통해 단계를 밟을 수 있습니다 . 부분 설명 :

&: 입력을받습니다.

:88+%: 나머지 모듈로 16을 가져갑니다.

"0"+: ASCII 값 0에 추가합니다.

:"9"`: 결과가 ASCII 값 9보다 큰 경우 ...

7*+: 7을 더해 문자로 변환합니다.

\: 결과 문자를 스택에 저장합니다.

8/2/: 반올림하여 16으로 나눕니다.

:!#|_: 결과가 0이면 루프를 종료합니다.

#: 그렇지 않으면 계수 단계로 돌아갑니다.

>:#,_@ (랩핑) : 완료되면 스택을 LIFO 순서로 출력합니다.


1

> <> , 46 + 3 = 49 바이트

> <>에 정수 나눗셈이 있으면 더 짧았을 것인데, 이제 우리는 모듈로 1을 빼서 에뮬레이션해야합니다. 그럼에도 불구하고, 이것은 트릭 주위에 꽤 깔끔한 줄 바꿈을 사용한다고 생각합니다!

>:?!v:f1+%:a(?v  v
\-%1:,+1f}+"0"<+7<
!?:r/ro;

온라인으로 사용해보십시오!

설명

첫 번째 루프

>:?!v:f1+%:a(?v  v
\-%1:,+1f}+"0"<+7<

첫 번째 루프는 16 진 알고리즘으로 클래식 변환을 수행합니다. 모듈로 16 ( :f1+%)을 수행하고 결과가 <10 ( :a(?) 인지 확인합니다 . 그렇지 않은 경우 7+ASCII 테이블의 10 진수에서 대문자로 이동하려면 7 ( ) 을 추가해야 합니다. 그렇지 않으면 0 ( "0"+)에 ASCII 값을 추가하고 출력 할 문자를 스택의 맨 아래로 이동하여 역순으로 출력해야하므로 계속 진행할 수 있습니다 . 그런 다음 최상위 값은 정수 나누기 결과를 16으로 바꿉니다. 이는 a / b-(a / b) % 1 ( f1+,:1%-) 을 계산 하여 에뮬레이션됩니다 . 루프가 끝나면 스택은 16 진 문자를 역순으로 출력하고 0을 포함합니다.

두 번째 루프

!?:r<ro;

두 번째 루프는 목록을 반대로 바꾸고 top 요소가 0인지 확인합니다. 만약 그렇다면 0이 아닌 것이 모두 인쇄 된 것을 알고 종료해야합니다. 그렇지 않으면, 우리는 문자를 출력하고 다음 반복을 준비하기 위해 목록을 다시 뒤집습니다. 는 :두번째 루프 효과가없는 0 중복 입력 할 때.


0

SpecBAS-110 바이트

1 h$="0123456789ABCDEF",r$=""
2 INPUT d
4 q=INT(d/16),r=d-(q*16),r$=h$(r+1)+r$,d=q
5 IF q>15 THEN 4
6  ?h$(q+1)+r$

이것은 WikiHow (2 차 방법) 에서 찾은 알고리즘을 사용합니다 .

SpecBAS의 문자열은 1 기반이므로 +1올바른 요소를 선택해야합니다.



0

루비, 40 바이트

도난에서 manatwork의 답변 에서 영감을 얻었지만 흥미로운 허점을 사용하여 더 짧게 만듭니다.

h=->n{(n>15?h[n/16]:'')+(n%16).to_s(17)}

0

REXX, 80 78 바이트

arg n
h=
do while n>0
  h=substr('0123456789ABCDEF',n//16+1,1)h
  n=n%16
  end
say h

0

C, 48 바이트

h(x){x/16&&h(x/16);x%=16;putchar(x+=48+x/10*7);}

이것은 완전히 독창적이지는 않습니다. Digital Trauma가 올려 놓은 버전에서 5 바이트를 깎았습니다.


0

APL (NARS), 문자 34, 바이트 68

{⍵≤0:,'0'⋄(∇⌊⍵÷16),(1+16∣⍵)⊃⎕D,⎕A}

테스트:

  g←{⍵≤0:,'0'⋄(∇⌊⍵÷16),(1+16∣⍵)⊃⎕D,⎕A}
  g 0
0
  g 100
064
  g 1000
03E8
  g 1
01
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.