ตัวนับเลขฐานสิบหก


10

ภาพของตารางแปลง Hex พร้อมตัวนับ

เลขฐานสิบหกเป็นระบบฐานนับ 16 ที่จะไปจากการ0 fงานของคุณคือสร้างตัวนับที่จะแสดงตัวเลขเหล่านี้

ตัวอย่าง:

$ python counter.py
1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30

กฎ:

  • ตัวเลขอาจคั่นด้วยช่องว่างแท็บหรือบรรทัดใหม่
  • จำนวนขั้นต่ำที่คุณต้องไปคือ30(48 เป็นทศนิยม)
    • คุณอาจทำให้โปรแกรมพิมพ์หมายเลขตลอดไปจนกว่าจะหยุด
  • ตัวอักษรอาจเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก ( Aหรือa)
  • ไม่อนุญาตให้มีฟังก์ชันในตัว (ที่ส่งผลโดยตรงต่อการแปลง / การนับเลขฐานสิบหก)
  • อนุญาตให้เป็นศูนย์นำหน้า
  • อาจเริ่มจาก1หรือ0
  • รหัสที่สั้นที่สุดชนะ!

@ Sp3000 พวกเขาเป็นอย่างไรบ้าง? แปลงทศนิยมเป็นฐานสิบหกหรือไม่
ช่วง

@ Sp3000 ไม่อนุญาตให้ใช้ฟังก์ชันในตัว!
ช่วง

4
ถ้าอย่างนั้นฟังก์ชั่นการแปลงฐานทั่วไปล่ะ?
Sp3000

1
@ Sp3000 แน่นอน (ไม่สนใจสิ่งนี้ขีด จำกัด จำนวนอักขระ 15 ตัว)
เฟส

1
@Mauris ใช่! แน่นอนว่ามันน่าสนใจ ...
เฟส

คำตอบ:


5

Pyth - 12 ไบต์

ใช้ผลิตภัณฑ์คาร์ทีเซียนและเรียงลำดับตอนท้ายเพื่อให้ได้ลำดับที่ถูกต้องจากนั้นเข้าร่วมด้วยช่องว่าง พิมพ์00-ffรวม

jdS^s+<G6UT2

ลองมันออนไลน์ได้ที่นี่

jd             Join by spaces
 S             Sort lexiographically
  ^    2       Cartesian product repeat twice
   s+          Append then concatenate entire list
    <G6        First six of alphabet
    UT         Range 0-9


6

CJam, 21 14 ไบต์

A,_6,'Af++m*S*

พิมพ์ตัวเลข 00 ถึง 9F

ลองใช้ออนไลน์ในล่าม CJam

มันทำงานอย่างไร

A,             e# Push [0 ... 9].
  _            e# Push a copy.
   6,          e# Push [0 ... 5].
     'Af+      e# Add 'A' to each. This pushes "ABCDEF".
         +     e# Concatenate. This pushes [0 ... 9 'A' ... 'F'].
          m*   e# Cartesian product. This pushes [[0 0] ... [9 'F'].
            S* e# Join, separating by spaces.

5

Python 2, 52

a=0
for b in'0123456789ABCDEF'*4:print`a`+b;a+=b>'E'

พิมพ์ไป00 3Fใช้ประโยชน์จากความจริงที่ว่าตัวเลขตัวแรกaเป็นตัวเลขในช่วงนี้เสมอ ลูปผ่านสี่รอบของหลักที่สองb, การเพิ่มเมื่อใดก็ตามที่หลักที่สองคือaF

นี่คือหนึ่งอักขระที่สั้นกว่าคำสั่งมากกว่า

for a in'0123':
 for b in'0123456789ABCDEF':print a+b

n ='0123'ควรบันทึกตัวอักษรบางตัว
Caridorc

@Caridorc เป็นไงบ้าง?
xnor

โดยการเขียนthing in n + restofstring
Caridorc

@Caricord ไม่แน่ใจว่าคุณหมายถึงอะไรมันทำอีกต่อไปแล้วn='0123' for a in n: for b in n+'456789ABCDEF':print a+b
xnor

2
@Caridorc ทางลัดโลหะที่ฉันใช้คือการบันทึกค่าตัวแปร 4 ตัวอักษรดังนั้นมันต้องการ> 4 ตัวอักษรของการบันทึกเพื่อชดเชยดังนั้นการบันทึก 4 ตัว0123เพื่อสิ่งอื่นนั้นไม่เพียงพอ
xnor


4

TI-Basic, 63 ไบต์

:For(I,0,4,16⁻¹
:Disp sub(" 0123456789ABCDEF",1+16fPart(I),2
:Output(7,1,int(I
:End

นี่คือ 63 ไบต์ตามหน้าจอการจัดการหน่วยความจำในเครื่องคิดเลขของฉันคือ TI-84 + อย่าลืมเริ่มต้นโปรแกรมด้วยหน้าจอหลักที่เต็มไปด้วยบางส่วน!


คุณจำได้หรือไม่ว่าจะลบความยาวของส่วนหัว 9 ไบต์และชื่อโปรแกรมออกจากความยาวรหัส
lirtosiast

4

Befunge-93, 57 bytes

<_v#-*44:+1,*84,g2:\,g2:\
^ >$1+:9-!#@_0
0123456789ABCDEF

พิมพ์ตัวเลขจากไป00 8Fหากคุณต้องการโปรแกรมของคุณทำงานตลอดรุ่นด้านล่างจะไม่ยุติและจะต่อเนื่องส่งออกจำนวนทั้งหมดจากการ00FF

<_v#-*44:+1,*84,g2:\,g2:\
^ >$1+:35*`!*0
0123456789ABCDEF

คุณสามารถบันทึกสองสามไบต์ใน -98 ด้วย <_v # -f: +1, ', g2: \, g2: \ ไม่เห็นการปรับปรุงมากมายเกินกว่านั้น
34431 Jacob

0123456789ABCDEF01g::88+/2-0g,88+%0g,9,1+01p
ลินน์

นั่นคือ 44 ไบต์ มันวนซ้ำตลอดไปเช่นเดียวกับโซลูชันที่สองของคุณและพิมพ์ผลลัพธ์ที่ผิดผ่านชั้น 1F ที่สอง มันต้องมีการนำไปใช้ (เช่นการนำไปใช้อ้างอิงbef.c) ซึ่งไม่สนใจคำสั่งที่ไม่รู้จัก ( ABCDEF)
ลินน์

(OP กล่าวถึงมันก็โอเคที่จะแก้ปัญหา "หยุด" ที่ใดที่หนึ่งในอดีตที่ผ่านมา30- อันนี้จะไหลล้นสแต็คอย่างช้า ๆ ดังนั้นฉันคิดว่ามันมีจุดสิ้นสุดบางจุดนอกจากนี้เอาท์พุทแยกแท็บ; ) โอ้การใช้ Befunge ที่คุณใช้ควรเริ่มต้นด้วยขนาด 80x25 torus ทั้งหมดด้วยช่องว่าง (ASCII 0x20)
ลินน์

@Mauris เกี่ยวกับความคิดเห็นของคุณเกี่ยวกับการใช้งานที่ต้องการอินสแตนซ์ของพรูทั้งหมดด้วยการเว้นวรรคสิ่งนี้จะส่งผลกระทบต่อจำนวนไบต์สำหรับรหัสของฉันหรือไม่ ฉันนับเฉพาะอักขระที่จำเป็นเท่านั้นแทนที่จะเติมเต็มช่องว่าง
Sok

2

C, 78 75 ไบต์

x(y){return y+48+y/10*7;}f(j){for(j=0;printf("%c%c ",x(j/16),x(15&j++)););}

เรากำหนดฟังก์ชั่นที่จะเรียกว่ามีข้อโต้แย้งสำหรับการพิมพ์ไม่และฟังก์ชั่นผู้ช่วยf() แบ่งนี้ที่x(int)FF

น่าอัศจรรย์นี่คือหนึ่งไบต์ที่สั้นกว่าชัดเจนกว่า:

char*s="0123456789ABCDEF";h(j){for(j=0;printf("%c%c ",s[j/16],s[15&j++]););}

คำเตือน: ไม่แนะนำให้เรียกใช้รหัสนี้นอกสภาพแวดล้อมการดีบัก ...

การทดสอบ:

int main(int argc, char** argv) {
    f();
    return 0;
}

เอาท์พุท:

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 (...)

แน่นอนว่าแนวทางที่แข็งแกร่ง (และ cheat-y) คือฟังก์ชั่น 34- ไบต์:

g(i){for(i=0;printf("%x ",i++););}

1
เริ่มลองสิ่งนี้ แต่คำตอบของฉันคล้ายกันมากเกินไป คุณสามารถบันทึกหลายไบต์ด้วยการทำให้% c แรกเป็น% d และไม่ใช้ฟังก์ชัน แม้ว่าจะใช้ได้จนถึง 9F เท่านั้น
เล่นแร่แปรธาตุ

return y+y+=อาจจะเป็น
Jonathan Frech

2

Pyth, 17 ไบต์

VJs++kUT<G6FYJ+NY

ลองที่นี่

มันทำงานอย่างไร:

         <G6         # "abcdef"
       UT            # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
      k              # an empty string (so + means concatenation, not addition)
   s++               # join them all ("0123456789abcdef")
  J                  # call this J
 V                   # for each N in J...
            FYJ      # for each Y in J...
               +NY   # print N and Y

jb^+jkUT<G6 2ใช้ผลิตภัณฑ์คาร์ทีเซียนเพื่อทำสิ่งเดียวกันยังดูเหมือนว่าสามารถเล่นกอล์ฟได้ ...
FryAmTheEggman


2

J, 22 ไบต์

>{;~'0123456789abcdef'

ffนับไป พิมพ์บรรทัดใหม่พิเศษระหว่างแต่ละบล็อคของ0x10ตัวเลขเช่น:

...
0d
0e
0f

10
11
...

2

คางทูม - 65 ไบต์

S Q="0123456789ABCDEF" F I=1:1:16 F J=1:1:16 W $E(Q,I),$E(Q,J),!

ไม่ ... คางทูมยังไม่ตาย! :-)


2

CJam, 22 ไบต์

1{_GbA,6,'af++f=oNo)}h

สิ่งนี้จะดำเนินไปตลอดกาลและอาจเป็นหนึ่งในช่วงเวลาที่หายากซึ่งเป็นความคิดที่ดีที่จะไม่รวมลิงก์ถาวร


oNoเหมือนกับnใน TIO
แยกผลไม้

2

TheC64Mini และ Commodore BASIC (C64 / 128, PET, VIC-20, C16 / + 4) - 164 BASIC และ Tokenized ไบต์ที่ใช้

 0 fOd=.to255:n=d:fOi=1to.stE-1:h%(i)=n/(16^i):n=n-(h%(i)*(16^i)):nEi:h$=""
 1 fOi=1to.stE-1:ifh%(i)<10tHh$=h$+cH(48+h%(i))
 2 ifh%(i)>9tHh$=h$+cH(55+h%(i))
 3 nEi:?h$"  ";:nEd

พิมพ์เว้นวรรคสองครั้งหลังเลขฐานสิบหกเพื่อจัดตำแหน่งการพิมพ์ที่คอลัมน์ 40/80 และ 22 คอลัมน์บน VIC-20

Commodore Plus / 4 Hex counter innit


2

brainfuck , 2902 ไบต์

ง่ายที่จะก้าวข้ามไป แต่ควรค่ากับการยิง

+>+[<[>>+>+<<<-]>>[<<+>>-]>[[-]>>>>>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<<<[-]++++++++++++++++++++++++++++++++++++++++++++++++>[-]<[>+<<+>-]<[>+<-]<]>+<<+<<[>>->+<<<-]>>>[<<<+>>>-]<[->+<<[>>>-<<+<-]>[<+>-]>>[<->[-]]<[<<<+>>>-]<]>>[-]<<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>.>.>>>++++++++++++++++++++++++++++++++.[-]<<[-]<<[>>+<<<+>-]<[>+<-]>>>>>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++<<[<<<<+>>>>-]+>>[<<<<<<-<+>>>>>>>-]<<<<<<<[>>>>>>>+<<<<<<<-]>[>>>>-<<<<[-]]>>>>>>[-]++<<[<<<<<+>+>>>>-]<<<<<[>>>>>+<<<<<-]>[<<<[-]>[-]>>>>>>>>[<<<<<<<<+>+>>>>>>>-]<<<<<<<[>>>>>>>+<<<<<<<-]>[-]]>>>>>>[-]<<<<<<]<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>>>[-]<[>+<<<+>>-]<<[>>+<<-]>>>>>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++<<[<<<<+>>>>-]+>>[<<<<<<-<+>>>>>>>-]<<<<<<<[>>>>>>>+<<<<<<<-]>[>>>>-<<<<[-]]>>>>>>[-]+++<<[<<<<<+>+>>>>-]<<<<<[>>>>>+<<<<<-]>[<<<[-]>[-]>>>>>>>>[<<<<<<<<+>+>>>>>>>-]<<<<<<<[>>>>>>>+<<<<<<<-]>[-]]>>>>>>[-]<<<<<<]<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>>>[-]<<[>>+<<<+>-]<[>+<-]>>>[<<<<+>>>>-]+>[<<<<<-<+>>>>>>-]<<<<<<[>>>>>>+<<<<<<-]>[>>>>-<<<<[-]]>>>>>>+++++<<[<<<<<+>+>>>>-]<<<<<[>>>>>+<<<<<-]>[<<<[-]>[-]>>>>>>>>[<<<<<<<<+>+>>>>>>>-]<<<<<<<[>>>>>>>+<<<<<<<-]>[-]]>>>>>>[-]<<<<<<]>++++++<<+<<[>>->+<<<-]>>>[<<<+>>>-]<[->+<<[>>>-<<+<-]>[<+>-]>>[<->[-]]<[<<<+>>>-]<]>>[-]<<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>>>[-]<[>+<<<+>>-]<<[>>+<<-]>>>[<<<<+>>>>-]+>[<<<<<-<+>>>>>>-]<<<<<<[>>>>>>+<<<<<<-]>[>>>>-<<<<[-]]>>>>>>++++<<[<<<<<+>+>>>>-]<<<<<[>>>>>+<<<<<-]>[<<<[-]>[-]>>>>>>>>[<<<<<<<<+>+>>>>>>>-]<<<<<<<[>>>>>>>+<<<<<<<-]>[-]]>>>>>>[-]<<<<<<]<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>>+>>>+<<<<<<<<<[-]>[-]>>>>>>>>[<<<<<<<<+>+>>>>>>>-]<<<<<<<[>>>>>>>+<<<<<<<-]>>>>>>>[-]<<<<<<]>++<<+<<[>>->+<<<-]>>>[<<<+>>>-]<[->+<<[>>>-<<+<-]>[<+>-]>>[<->[-]]<[<<<+>>>-]<]>>[-]<<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>>>>-----<<<[-]>>>[<<<+<+>>>>-]<<<<[>>>>+<<<<-]>>>>+++++>+<<<<<<<<<[-]>[-]>>>>>>>>[<<<<<<<<+>+>>>>>>>-]<<<<<<<[>>>>>>>+<<<<<<<-]>>>>>>>[-]<<<<<<]>+++<<+<<[>>->+<<<-]>>>[<<<+>>>-]<[->+<<[>>>-<<+<-]>[<+>-]>>[<->[-]]<[<<<+>>>-]<]>>[-]<<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>>>>-----<<[-]>>[<<+<<+>>>>-]<<<<[>>>>+<<<<-]>>>>+++++>+<<<<<<<<<[-]>[-]>>>>>>>>[<<<<<<<<+>+>>>>>>>-]<<<<<<<[>>>>>>>+<<<<<<<-]>>>>>>>[-]<<<<<<]>++++<<+<<[>>->+<<<-]>>>[<<<+>>>-]<[->+<<[>>>-<<+<-]>[<+>-]>>[<->[-]]<[<<<+>>>-]<]>>[-]<<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>+>[-]++++++++++++++++++++++++++++++++++++++++++++++++>>>+<<<<<<<<<[-]>[-]>>>>>>>>[<<<<<<<<+>+>>>>>>>-]<<<<<<<[>>>>>>>+<<<<<<<-]>>>>>>>[-]<<<<<<]>+++++<<+<<[>>->+<<<-]>>>[<<<+>>>-]<[->+<<[>>>-<<+<-]>[<+>-]>>[<->[-]]<[<<<+>>>-]<]>>[-]<<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>>>[-]<[>+<<<+>>-]<<[>>+<<-]>>>[<<<<+>>>>-]+>[<<<<<-<+>>>>>>-]<<<<<<[>>>>>>+<<<<<<-]>[>>>>-<<<<[-]]>>>>>>++++++<<<<<<+>>>>[<<<<[-]<+>>>>>-]<<<<<[>>>>>+<<<<<-]>[<<<[-]>[-]>>>>>>>>[<<<<<<<<+>+>>>>>>>-]<<<<<<<[>>>>>>>+<<<<<<<-]>[-]]>>>>>>[-]<<<<<<]<<<[>>+>+<<<-]>>[<<+>>-]>[[-]<<<[-]>[-]>>]<<]

ลองออนไลน์!


สิ่งนี้จะสั้นลงหากคุณเพิ่งสร้างตัวละครขึ้นมา0-Fและทำการพิมพ์ฮาร์ดโค้ด คุณจัดการให้มันนานขนาดนั้นได้อย่างไร?
Jo King

@JoKing เป็นไปได้ แต่ฉันแค่อยากสนุก
Krzysztof Szewczyk

ความคิดเห็นนั้นไม่ใช่การยอมรับว่าคำตอบนี้ไม่ใช่คู่แข่งที่ร้ายแรงสำหรับเกณฑ์การชนะของการท้าทายหรือไม่?
pppery

1

Python 2, 66 55 Bytes

นี่ควรเป็นวิธีที่ชัดเจนที่สุดสำหรับฉัน ..

a='0123456789ABCDEF'
for x in a:
 for y in a:print x+y

เก่า (66 bytes) : เทคนิคนี้ทำให้เกิดข้อผิดพลาดหลังจากที่แต่มันก็ไม่สามารถเข้าถึงFF30

n=1;a='0123456789ABCDEF'
while 1:print a[n/16]*(n>15)+a[n%16];n+=1

ฉันถือว่าการจัดรูปแบบสตริงไม่ได้รับอนุญาตเนื่องจากฉันค่อนข้างแน่ใจว่าจะผ่านการแปลงฐาน แต่ถ้าได้รับอนุญาตนี่จะเป็น 29 ไบต์:

n=1
while 1:print"%x"%n;n+=1

1

Java, 104 ไบต์

char t[]="0123456789abcdef".toCharArray(),i;void f(){for(;i<99;)System.out.println(""+t[i/16]+t[i++%16]);}

หากi<99ลบออกแล้วจะยังคงถึง 30 แต่ในที่สุดก็ล้มเหลว ฉันไม่แน่ใจว่ามันเป็นที่ยอมรับหรือไม่


1

J, 47 ไบต์

'0123456789abcdef'{~([:|:2 256$(]#i.),256$i.)16

พิมพ์ 00 ถึง ff


1
วิธีที่สั้นกว่ามาก:>{;~'0123456789abcdef'
Lynn

ว้าวดีมาก! แต่ทำไมคุณไม่โพสต์มันเป็นคำตอบมันมีแค่ 22 ไบต์!
gar


1

Perl 6 , 34 ไบต์

สั้นที่สุดที่ฉันสามารถหาได้โดยไม่ใช้การแปลงใด ๆ คือ:

put [X~] (|(0..9),|('A'..'F'))xx 2 # 34 bytes

พิมพ์00... FFเว้นวรรคตามลำดับ
หากคุณต้องการมากกว่านี้คุณสามารถสลับ2เป็นจำนวนที่มากขึ้นได้
(อย่าใช้ตัวเลขที่ใหญ่กว่า 4 เพราะมันเชื่อมต่อค่าเข้าด้วยกันก่อนที่จะแสดงผลอะไรดังนั้นมันจะใช้ RAM จำนวนมาก)


สั้นที่สุดที่จะไม่หยุดเขียนค่า hex

put [R~] (|(0..9),|('A'..'F'))[.polymod: 16 xx*]for 0..* # 56 bytes

หากprintfได้รับอนุญาต

printf "%X ",$_ for 0..* # 24 bytes

ถ้าฟังก์ชั่นการแปลงฐานได้รับอนุญาต

put .base(16)for 0..* # 21 bytes

1

C ++ 14 - 135

#include<string>
#include<iostream>
void f(){std::string a="0123",b="0123456789ABCDEF";for(char c:a)for(char d:b)std::cout<<c<<d<<" ";}

ไม่มันไม่เป็นไร คุณใช้คอมไพเลอร์อะไร? ฉันไป'string' is not a member of 'std'กับฉันแล้ว
Dennis

@Dennis นั่นเป็นจุดที่ดี ฉันมักจะลืมว่ามันต้องมีการรวมสตริงเป็นของตัวเอง แก้ไขแล้ว.
Yytsi

1. ฉันได้รับข้อผิดพลาดเดียวกันcoutเช่นกัน ฉันคิดว่าคุณต้องการiostreamเช่นกัน 2. มันพิมพ์ตัวเลขโดยไม่ต้องแยก ความท้าทายต้องใช้ช่องว่างแท็บหรือการขึ้นบรรทัดใหม่ 3. คุณควรระบุ C ++ รุ่นที่ต้องการ
Dennis

1

jq 1.5: 65 59 ตัวอักษร

(ตัวเลือกบรรทัดคำสั่งรหัส 56 ตัวอักษร + 3 ตัวอักษร)

[range(10)]+"a b c d e f"/" "|{a:.[],b:.}|"\(.a)\(.b[])"

วิ่งตัวอย่าง:

bash-4.3$ jq -n -r '[range(10)]+"a b c d e f"/" "|{a:.[],b:.}|"\(.a)\(.b[])"' | head
00
01
02
03
04
05
06
07
08
09

การทดสอบออนไลน์ ( -rไม่รองรับการส่งผ่าน URL - ตรวจสอบข้อมูลดิบด้วยตัวคุณเอง)

jq 1.5: 56 ตัวอักษร

(ตัวเลือกบรรทัดคำสั่งรหัส 53 ตัวอักษร + 3 ตัวอักษร)

[[range(10)]+"a b c d e f"/" "|"\(.[])\(.[])"]|sort[]

สิ่งนี้สร้างเอาต์พุตที่ถูกต้อง แต่ไม่ใช่ตัวนับที่แน่นอน: มันไม่สร้างค่าตามลำดับเพียงเรียงลำดับหลังจากนั้น

การทดสอบออนไลน์ ( -rไม่รองรับการส่งผ่าน URL - ตรวจสอบข้อมูลดิบด้วยตัวคุณเอง)


ลิงก์ของคุณสำหรับ jq ไม่ทำงานและเมื่อฉันแก้ไขมันบอกว่าไม่มีไฟล์ดัชนีใน github: P
เฟส

อุ่ย ขอบคุณ @ เฟส ฉันจดจ่อกับจำนวนตัวละครมากเกินไป
จัดการ

1

Dyalog APLขนาด 12 ไบต์

       ∘.,⍨16↑⎕D,⎕A
 00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F 
 10  11  12  13  14  15  16  17  18  19  1A  1B  1C  1D  1E  1F 
 20  21  22  23  24  25  26  27  28  29  2A  2B  2C  2D  2E  2F 
 30  31  32  33  34  35  36  37  38  39  3A  3B  3C  3D  3E  3F 
 40  41  42  43  44  45  46  47  48  49  4A  4B  4C  4D  4E  4F 
 50  51  52  53  54  55  56  57  58  59  5A  5B  5C  5D  5E  5F 
 60  61  62  63  64  65  66  67  68  69  6A  6B  6C  6D  6E  6F 
 70  71  72  73  74  75  76  77  78  79  7A  7B  7C  7D  7E  7F 
 80  81  82  83  84  85  86  87  88  89  8A  8B  8C  8D  8E  8F 
 90  91  92  93  94  95  96  97  98  99  9A  9B  9C  9D  9E  9F 
 A0  A1  A2  A3  A4  A5  A6  A7  A8  A9  AA  AB  AC  AD  AE  AF 
 B0  B1  B2  B3  B4  B5  B6  B7  B8  B9  BA  BB  BC  BD  BE  BF 
 C0  C1  C2  C3  C4  C5  C6  C7  C8  C9  CA  CB  CC  CD  CE  CF 
 D0  D1  D2  D3  D4  D5  D6  D7  D8  D9  DA  DB  DC  DD  DE  DF 
 E0  E1  E2  E3  E4  E5  E6  E7  E8  E9  EA  EB  EC  ED  EE  EF 
 F0  F1  F2  F3  F4  F5  F6  F7  F8  F9  FA  FB  FC  FD  FE  FF 

ครั้งหนึ่ง APL จะจับคู่ Pyth
อดัม

1

Malbolge , 900 ไบต์

ที่จะปรับปรุง ...

D'``@"\7}|X9E1gwuR21=p(:9%IZYEg}eA/ya>O_)([Zvotm3qponmfN+Lbg`ed]\"CB^W\Uy<;WVONSLp3ONMLEDhH*)?>b%A@?87[;:9876/S3,P0/.-&J$)"'~D|{"y?}|utyr8potmrqpi/mfN+Lbg`e^$bDZ_^]VzZSXQVUTSLp3ONMLEDhH*)EDCB;@?8\6|:32V6v.32+O)o'&J*)i'&%|Bcb~w|u;yxwvutVrkj0nmfN+iKg`_%cE[`Y}@V[ZYXWPtT6LKJImM/KJIBAe(D=<A:98\[;{32V6v.-,P0).',%I)"!E%|#"y?w_{ts9Zvutsrkpi/mfNjihg`e^$b[Z~X]\[ZYRv98TSLKoO10FKDh+GFE>CB;_?>=}|49870/.R2+*Non&%I#"!&%${A!~}_u;yxqpo5mrqpoh.lkdibgf_%]\[!_XW{[ZYXQPt7SRQPOHGkKJIHAF?cC<;@?8\6;492V6v.-,P*p.'K+$j"'~D|#"y~wv<]yxqvutsrk1onmfN+cba`&d]#DZ_^]VzTSXQVOs65QJINGkE-IBAe(D=<A:98\654981Uv.32+*)M-,%k#(!E}$#"!x>v{t:xwputm3kpoh.fN+Lbg`ed]\"!Y^]VzZYXQVOsS54JImMFKJIHAe?>C<`@?87[;{32V05.-2+O)o-,+$H('&}Cdzy~wv<]sxqvonm3k1oQmf,jihgfeG]#a`_X|V[TxXQPUTMLp3ONMLEDhH*)ED=a;@?>76;4X816/43,P*).',%I#i!&}|Bcb~w|u;yxwputm3qSong-kjihgfH%]\a`_XW{UTYXQuUTMRKPOHlFKDhBAe?>=B;_9>=6Z:981Uv.32+*)M-,%k#(!E%$#c!x>|u;yxZpo5srqSi/z

ลองออนไลน์!


1

Zsh, 44 29 ไบต์

-15 , ผ่าน GammaFunction   ลองออนไลน์!

h=({0..9} {a..f});echo $^h$^h

ดั้งเดิม (44 ไบต์): g=0123456789abcdef;h=(${(s::)g});echo $^h$^h


1
แทนที่จะเปลี่ยนเป็นอาเรย์คุณสามารถเริ่มที่นั่น: h=({0..9} {a..f}). 29 ไบต์
GammaFunction

ขอบคุณ! zsh สามารถเล่นกอล์ฟได้มาก :)
roblogic


1

ชุดประกอบ 8088, IBM PC DOS ขนาด 34 ไบต์

ไบต์xxd:

00000000: 43e8 0900 e806 00b0 20cd 10eb f3b1 04d2  C....... .......
00000010: c38a c324 0f3c 0a7c 0204 0704 30b4 0ecd  ...$.<.|....0...
00000020: 10c3

แต่อย่างใด:

        BYTE_LOOP: 
43          INC  BX             ; increment counter  
E8 0009     CALL HB             ; display high byte 
E8 0006     CALL HB             ; display low byte 
B0 20       MOV  AL, ' '        ; display space delimiter
CD 10       INT  10H            ; call BIOS, write char to console 
EB F3       JMP  BYTE_LOOP      ; keep looping forever
        HB PROC 
B1 04       MOV  CL, 4          ; set up bitshift for 4 bits 
D2 C3       ROL  BL, CL         ; shift counter left 4 bits 
8A C3       MOV  AL, BL         ; put counter into AL 
24 0F       AND  AL, 0FH        ; isolate nibble 
3C 0A       CMP  AL, 0AH        ; is nibble A-F? 
7C 02       JL   NOT_ALPHA      ; if not, skip adjustment 
04 07       ADD  AL, 'A'-'9'-1  ; adjust ASCII value to A-F 
        NOT_ALPHA: 
04 30       ADD  AL, '0'        ; decimal to binary convert
B4 0E       MOV  AH, 0EH        ; BIOS tty function
CD 10       INT  10H            ; call BIOS, write char to console 
C3          RET                 ; return to program
        HB ENDP

Standalone PC DOS ที่แน่นอนผลลัพธ์คือคอนโซลและจะแสดงต่อไปจนกว่าโปรแกรมจะหยุด เพียงแค่รอยขีดข่วน ASCII จัดการโปรแกรมที่นี่ ไม่มีเพียงแค่บิวด์อินหรือเมธอดอำนวยความสะดวกใน x86 หรือ DOS / BIOS API เพื่อแปลงค่าไบนารี่เป็นสตริงสำหรับเอาต์พุต

เอาท์พุท:

ป้อนคำอธิบายรูปภาพที่นี่


1

MUMPS , 57 ไบต์

f i=1:1:48 w $tr(i\16,0),$e("0123456789abcdef",i#16+1),!

เอาท์พุต

>d ^xmsdgolf
1
2
3
4
5
6
7
8
9
a
b
c
d
e
f
10
11
..
28
29
2a
2b
2c
2d
2e
2f
30

คำอธิบาย

f i=1:1:48                     ; loop from 1 to 48
w $tr(i\16,0)                  ; print i div 16, and ditch any zeros
$e("0123456789abcdef",i#16+1)  ; extract the nth character from the string, where n is i mod 16 + 1
!                              ; crlf


0

Python 2 - 57 ไบต์

h='0123456789ABCDEF'
' '.join([i+j for i in h for j in h])

เอาต์พุตนี้ 00 ถึง FF โดยมีช่องว่างระหว่าง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.