Onaltılı Sayıcı


10

Sayaçlı Onaltılı Dönüşüm Tablosu resmi

Hexadecimal , 0ila 16 arasında değişen bir temel 16 sayma sistemidir f. İşiniz bu sayıları gösterecek bir sayaç yapmaktır.

Misal:

$ 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

Kurallar:

  • Sayılar boşluklar, sekmeler veya yeni satırlarla ayrılabilir.
  • Gitmeniz gereken minimum sayı 30(ondalık olarak 48).
    • Programın numaralarını durdurulana kadar sonsuza kadar yazdırabilirsiniz.
  • Harfler büyük veya küçük harf olabilir ( Aveya a).
  • İzin verilen yerleşik işlevlere izin verilmez (onaltılık dönüşümleri / saymayı doğrudan etkiler).
  • Baştaki sıfırlara izin verilir
  • Bu başlayabilir 1veya0
  • En kısa kod kazanır!

@ Sp3000 Ne kadar yerleşikler? Ondalık sayıyı onaltılık biçime dönüştürüyor musunuz?
— faz

@ Sp3000 Yerleşik işlevlere izin verilmez!
— faz

4
Peki genel temel dönüşüm işlevleri hakkında ne dersiniz?
— Sp3000

1
@ Sp3000 Elbette (bunu görmezden gelin, 15 karakter sınırı)
— faz

1
@Mauris Evet! Bu kesin olacak ...
— faz

Yanıtlar:


5

Pyth - 12 bayt

Kartezyen ürünü kullanır ve doğru sırayla elde etmek için sonunda sıralanır, ardından boşluklarla birleşir. Baskılar 00-ffdahil.

jdS^s+<G6UT2

Burada çevrimiçi deneyin .

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 bayt

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

00 - 9F arasındaki sayıları yazdırır.

CJam yorumlayıcısında çevrimiçi deneyin .

Nasıl çalışır

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'

Baskılar 00için 3F. İlk rakamın aher zaman bu aralıktaki bir sayı olması gerçeğinden yararlanır . İkinci basamak dört döngü boyunca Döngüler barttırılarak aikinci basamak olduğu zaman F.

Bu daha doğrudan olandan daha kısa bir karakter

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

n ='0123'bazı karakterleri kurtarmalı
— Caridorc

@Caridorc Tam olarak nasıl?
— xnor

yazarakthing in n + restofstring
— Caridorc

@Caricord Ne demek istediğinden emin değilim, yapmak daha uzunn='0123' for a in n: for b in n+'456789ABCDEF':print a+b
— xnor

2
@Karidorc Kullandığım metal bir kısayol, değişkene tasarruf etmenin 4 karaktere mal olması, bu nedenle telafi etmek için 4 karakterden fazla tasarrufa ihtiyaç duyması, bu nedenle 0123başka bir şey için 4 karakter kaydetmek yeterli değil.
— xnor

5

JavaScript (ES6), 57 bayt

Sanırım Python'larla aynı yaklaşım.

for(i of c='0123456789ABCDEF')for(j of c)console.log(i+j)

4

TI-Basic, 63 bayt

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

Hesap makinemdeki bellek yönetimi ekranına göre bir TI-84 + 63 bayt. Programı kısmen doldurulmuş bir ana ekranla başlattığınızdan emin olun!


9 baytlık üstbilginin uzunluğunu ve program adını kod uzunluğundan çıkarmayı hatırladınız mı?
— lirtosiast

4

Befunge-93, 57 bayt

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

Numaraları yazdırır 00için 8F. Programlarınızın sonsuza kadar çalışmasını tercih ederseniz, aşağıdaki sürüm sonlandırılmaz ve ile arasındaki tüm sayıları sürekli olarak 00verir FF.

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

-98'de <_v # -f: +1, ', g2: \, g2: \ ile birkaç bayt kaydedebilirsiniz. Bunun ötesinde pek çok gelişme göremiyorum.
— Jacob

0123456789ABCDEF01g::88+/2-0g,88+%0g,9,1+01p
— Lynn

Bu 44 bayt. Sonsuz bir şekilde, ikinci çözümünüz gibi döngü yapar ve ikinci 1F'den sonra yanlış sonuçlar yazdırır. bef.cBilinmeyen komutları ( ABCDEF) sessizce yok sayan bir uygulama (referans uygulaması gibi ) gerektirir .
— Lynn

(OP, bir çözümün vurmanın ötesinde bir yerde "kırılması" için uygun olduğunu belirtiyor 30- bu yavaşça yığını taşacak, bu yüzden bir sonlandırma noktası olduğunu varsayalım. Ayrıca, çıktı sekmeyle ayrılmış; OP bunun iyi olduğunu söyledi. ) Ah, kullandığınız Befunge uygulaması 80x25 torusun tamamını boşluklu (ASCII 0x20) başlatmalıdır .
— Lynn

@Mauris Tüm torusu boşluklarla başlatması gereken uygulama hakkındaki yorumunuzla ilgili olarak, bu sunulan kodumun bayt sayısını etkiler mi? Köşeleri boşluklarla doldurmak yerine sadece gerekli karakterleri saydım.
— Sok

2

C, 78 75 bayt

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

f()Yazdırma argümanı olmadan çağrılacak bir fonksiyon ve bir yardımcı fonksiyon tanımlarız x(int). Bu kırılıyor FF.

Şaşırtıcı bir şekilde, bu daha açık olandan bir bayt daha kısa:

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

Uyarı: Bu kodu bir hata ayıklama ortamının dışında çalıştırmanız önerilmez ...

Test yapmak:

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

Çıktı:

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 (...)

Tabii ki, daha sağlam (ve hile-y) yaklaşım bu 34 baytlık işlevdir:

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

1
Bunu denemeye başladı ama cevabım çok benzerdi. İlk% c 'yi% d' ye yaparak ve işlevi atlayarak birkaç bayt kaydedebilirsiniz. O zaman sadece 9F'ye kadar geçerlidir.
— Simyacı

return y+olabilir y+=.
— Jonathan Frech

2

Pyth, 17 bayt

VJs++kUT<G6FYJ+NY

Burada deneyin

Nasıl çalışır:

         <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 2aynı şeyi yapmak için kartezyen ürünü kullanır, yine de golf gibi görünüyor ...
— FryAmTheEggman

2

Javascript ES6, 67 62 bayt

(x=''.replace.bind('0123456789ABCDEF',/./g))(n=>x(o=>' '+n+o))

2

J, 22 bayt

>{;~'0123456789abcdef'

Sayar ff. Her 0x10sayı bloğu arasına fazladan yeni bir satır yazdırır , şöyle:

...
0d
0e
0f

10
11
...

2

Kabakulak - 65 bayt

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

Hayır ... Kabakulak henüz ölmedi! :-)


2

CJam, 22 bayt

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

Bu sonsuza dek sürer ve muhtemelen bir kalıcı bağlantıyı dahil etmemenin iyi bir fikir olduğu nadir zamanlardan biridir .


oNonTIO ile aynıdır .
— Esolanging Fruit

2

C64Mini ve Commodore BASIC (C64 / 128, PET, VIC-20, C16 / + 4) - 164 BASIC ve Tokenize bayt kullanılır

 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

VIC-20'deki 22 sütunun yanı sıra 40/80 sütunda baskıyı güzel bir şekilde hizalamak için onaltılık sayıdan sonra bir çift boşluk yazdırır.

Commodore Plus / 4 Hex sayaç innit


2

brainfuck , 2902 bayt

Outgolf için kolay, ama denemeye değer

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

Çevrimiçi deneyin!


Karakterleri yeni oluşturduysanız 0-Fve ardından yazdırmayı sabit olarak kodladıysanız, bu daha kısa olacaktır . Bunu bu kadar uzatmayı nasıl başardınız?
— Jo King

@JoKing muhtemelen, ama ben sadece eğlenmek istedim
— Krzysztof Szewczyk

Bu yorum, bu cevabın mücadelenin kazanma kriterleri için ciddi bir yarışmacı olmadığını kabul etmek değil mi?
— pppery

1

Python 2, 66 55 Bayt

Bu benim için en belirgin yaklaşım olmalıydı ..

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

Eski (66 Bayt) : Teknik olarak bu sonradan bir hataya neden olur FF, ancak ulaşır 30.

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

Temel dönüşümden geçeceğinden emin olduğumdan dize biçimlendirmesine izin verilmediğini varsaydım, ancak izin verildiyse bu 29 bayt olurdu:

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

1

Java, 104 bayt

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

Eğer i<99kaldırılır, hala 30 ulaşır, fakat sonunda çöker. Bunun kabul edilebilir olup olmadığından emin değilim.


1

J, 47 bayt

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

00 - ff arası yazdırır


1
Çok daha kısa bir yol:>{;~'0123456789abcdef'
— Lynn

Vay canına, bu çok iyi! Ama neden cevap olarak göndermediniz, sadece 22 bayt!
— gar

1

JavaScript 74 72 65 60

//for(i=0,a="0123456789ABCDEF";i++<49;)console.log(a[i>>4]+a[i%16])
for(i=0;i++<48;)console.log((i>>4)+"0123456789ABCDEF"[i%16])


1

Perl 6 , 34 bayt

Ben herhangi bir dönüşüm kullanmaz ile gelip en kısa:

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

yazdırır 00... FFboşluk sırasıyla ayrılmış.
Daha fazlasını isterseniz daha 2büyük bir numara için değiştirebilirsiniz .
(herhangi bir çıktı vermeden önce değerleri bir araya getirdiği için 4'ten büyük bir sayı kullanmayın, bu nedenle önemli miktarda RAM kullanır)


Onaltılık değerler yazmayı asla bırakmayacak en kısa

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

printfİzin verildiyse

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

Bir temel dönüştürme işlevine izin verildiyse

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<<" ";}

Hayır, olduğu gibi iyi. Hangi derleyiciyi kullanıyorsunuz? Benimle geliyorum 'string' is not a member of 'std'.
— Dennis

@Dennis Bu iyi bir nokta. Her zaman kendi dize dahil gerektiren unuturum. Sabit.
— Yytsi

1. Ben de aynı hatayı alıyorum cout. Sanırım sen de ihtiyacın var iostream. 2. Numaraları ayrılmadan yazdırır. Zorluk, boşluklar, sekmeler veya yeni satırlar gerektirir. 3. Gerekli C ++ sürümünü belirtmelisiniz.
— Dennis

1

jq 1.5: 65 59 karakter

(56 karakter kod + 3 karakter komut satırı seçeneği.)

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

Örnek çalışma:

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

Çevrimiçi test (Geçme-rURL'den desteklenmez - Ham Çıktıyı kendiniz kontrol edin.)

jq 1.5: 56 karakter

(53 karakter + 3 karakter komut satırı seçeneği.)

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

Bu doğru çıktı üretir, ancak tam olarak bir sayaç değildir: değerleri sırayla oluşturmaz, sadece sonra sıralar.

Çevrimiçi test ( -rURL'den geçme desteklenmez - Ham Çıktıyı kendiniz kontrol edin.)


jq için bağlantınız çalışmıyor ve bunu düzelttiğimde github'da bir dizin dosyası olmadığını söylüyor: P
— faz

Hata. Teşekkürler @Phase. Karakter sayısına çok yoğunlaşmıştım.
— manatwork

1

Dyalog APL , 12 bayt

       ∘.,⍨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 

Bir defasında APL, Pyth ile eşleşir.
— Adám

1

Malbolge , 900 bayt

Geliştirilecek ...

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

Çevrimiçi deneyin!


1

Zsh, 44 29 bayt

-15 , GammaFunction üzerinden   online deneyin!

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

Orijinal (44 bayt): g=0123456789abcdef;h=(${(s::)g});echo $^h$^h


1
Bunun yerine diziye dönüştürme, buradan başlayabilirsiniz: h=({0..9} {a..f}). 29 bayt
— GammaFunction

Teşekkürler! zsh çok golf edilebilir :)
— roblogic


1

8088 Montajı, IBM PC DOS, 34 bayt

Bayt xxd:

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

unassembled:

        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

Bağımsız PC DOS exactable, çıktı konsol ve program durdurulana kadar görüntülemeye devam edecektir. Burada sadece bir çizik ASCII manipülasyon programı. X86 veya DOS / BIOS API'lerinde ikili değerleri çıktı için dizelere dönüştürmek için yerleşik veya kolaylık yöntemi yoktur.

Çıktı:

resim açıklamasını buraya girin


1

MUMPS , 57 bayt

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

Çıktı

>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

açıklama

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

Haskell, 52 bayt

a="0123456789abcdef";main=mapM putStrLn$mapM id[a,a]

0

Python 2-57 bayt

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

Bu, 00 ile FF arasında, aralarında boşluk olacak şekilde çıktı verir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.