F × f टाइम टेबल प्रिंट करें


46

आपका कार्य हेक्सिडेसिमल टाइम टेबल को प्रिंट करना है:

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 
00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 
00 03 06 09 0c 0f 12 15 18 1b 1e 21 24 27 2a 2d 
00 04 08 0c 10 14 18 1c 20 24 28 2c 30 34 38 3c 
00 05 0a 0f 14 19 1e 23 28 2d 32 37 3c 41 46 4b 
00 06 0c 12 18 1e 24 2a 30 36 3c 42 48 4e 54 5a 
00 07 0e 15 1c 23 2a 31 38 3f 46 4d 54 5b 62 69 
00 08 10 18 20 28 30 38 40 48 50 58 60 68 70 78 
00 09 12 1b 24 2d 36 3f 48 51 5a 63 6c 75 7e 87 
00 0a 14 1e 28 32 3c 46 50 5a 64 6e 78 82 8c 96 
00 0b 16 21 2c 37 42 4d 58 63 6e 79 84 8f 9a a5 
00 0c 18 24 30 3c 48 54 60 6c 78 84 90 9c a8 b4 
00 0d 1a 27 34 41 4e 5b 68 75 82 8f 9c a9 b6 c3 
00 0e 1c 2a 38 46 54 62 70 7e 8c 9a a8 b6 c4 d2 
00 0f 1e 2d 3c 4b 5a 69 78 87 96 a5 b4 c3 d2 e1 

विशेष विवरण:

  • आप अपरकेस में हेक्स मान प्रिंट कर सकते हैं।
  • आपकी लाइनें एक अनुगामी स्थान के साथ समाप्त हो सकती हैं और प्रोग्राम आउटपुट एक अनुगामी न्यूलाइन के साथ समाप्त हो सकता है।
  • प्रत्येक हेक्स मान 0को दिखाए गए अनुसार 2 अंकों के लिए गद्देदार होना चाहिए ।

यह , इसलिए सबसे छोटा उत्तर (बाइट्स में मापा गया) जीतता है।




4
गुणन सारणी में आमतौर पर कारक 0 शामिल नहीं होता है ... :-)
लुइस मेंडू

28
@ लिसन मेन्डो: स्कूली बच्चे कैसे याद कर पाएंगे कि कोई संख्या 0 गुना है? : P
दूध

1
डारन, मैं हेक्सडंप का उपयोग करके एक समाधान बनाना चाहता था, लेकिन वह समूह 4-बाइट ब्लॉक में था। :(
हाइपरनेट्रो

जवाबों:



14

पायथन 2 , 60 बाइट्स

for n in range(256):r=n%16;print'%02x%s'%(n/16*r,r/15*'\n'),

इसे ऑनलाइन आज़माएं!

यह काम किस प्रकार करता है

सभी पूर्णांकों के लिए n से 0 करने के लिए 255 , हम निम्नलिखित है।

  • हम गणना करते हैं (n / 16) × (n% 16)

    N की सीमा से अधिक , n / 16 और n% 16 दोनों स्वतंत्र रूप से श्रेणी 0,…, 15 को कवर करते हैं , इसलिए यह गुणन तालिका के सभी प्रविष्टियों को उत्पन्न करता है।

  • हम लाइनफ़ीड चरित्र ( '\n') (n% 16) / 15 बार दोहराते हैं , जिसके परिणामस्वरूप n% 16 = 15 और अन्यथा रिक्त स्ट्रिंग के समान वर्ण होते हैं।

  • प्रारूप स्ट्रिंग '%02x%s'दो पिछले परिणामों को एक स्ट्रिंग में बदल देता है, पहले एक निचला हेक्साडेसिमल पूर्णांक प्रतिनिधित्व, शून्य-गद्देदार (कम से कम) दो अंक, फिर उत्पन्न स्ट्रिंग।

  • अंत में, print...,स्वरूपित परिणाम प्रिंट करता है।

    चूंकि प्रिंट स्टेटमेंट अल्पविराम के साथ समाप्त होता है, पायथन एक फीडफीड को जोड़ नहीं देगा। इसके अलावा, अगले स्ट्रिंग को प्रिंट करने से पहले, पायथन एक स्थान को प्रीपेंड करेगा जब तक कि हम एक नई लाइन की शुरुआत में नहीं होते। ( स्रोत ) यह आउटपुट को प्रारूपित करने के लिए होता है जैसे हम चाहते हैं।


14

जेली , 12 बाइट्स

⁴Ḷ×þ`d⁴‘ịØhG

इसे ऑनलाइन आज़माएं!

यह काम किस प्रकार करता है

⁴Ḷ×þ`d⁴‘ịØhG  Main link. No arguments.

⁴             Set the return value to 16.
 Ḷ            Unlength; yield [0, ..., 15].
  ×þ`         Build the multiplication table of [0, ..., 15] and itself.
     d⁴       Divmod 16; yield [p : 16, p % 16] for each product p.
       ‘      Increment quotients and remainders (1-based indexing).
        ịØh   Index into the lowercase hexadecimal alphabet.
           G  Grid; join columns by spaces, rows by newlines.

यह 12 अक्षर है, बाइट नहीं। प्रश्न के अनुसार, उत्तर बाइट्स में मापा जाता है, और आपका उत्तर 25 बाइट्स और 12 वर्ण है । इस वेबसाइट के अनुसार कम से कम mothereff.in/byte-counter
Ciprum

18
UTF-8 में, सुनिश्चित करें। हालांकि, जेली एसबीसीएस का उपयोग करती है , इसलिए प्रत्येक चरित्र को एक बाइट का उपयोग करके एन्कोड किया जा सकता है।
डेनिस

11

आर, 42 बाइट्स

as.hexmode(sapply(0:15,function(x)x*0:15))

निम्नलिखित प्रिंट करता है:

      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16]
 [1,] "00" "00" "00" "00" "00" "00" "00" "00" "00" "00"  "00"  "00"  "00"  "00"  "00"  "00" 
 [2,] "00" "01" "02" "03" "04" "05" "06" "07" "08" "09"  "0a"  "0b"  "0c"  "0d"  "0e"  "0f" 
 [3,] "00" "02" "04" "06" "08" "0a" "0c" "0e" "10" "12"  "14"  "16"  "18"  "1a"  "1c"  "1e" 
 [4,] "00" "03" "06" "09" "0c" "0f" "12" "15" "18" "1b"  "1e"  "21"  "24"  "27"  "2a"  "2d" 
 [5,] "00" "04" "08" "0c" "10" "14" "18" "1c" "20" "24"  "28"  "2c"  "30"  "34"  "38"  "3c" 
 [6,] "00" "05" "0a" "0f" "14" "19" "1e" "23" "28" "2d"  "32"  "37"  "3c"  "41"  "46"  "4b" 
 [7,] "00" "06" "0c" "12" "18" "1e" "24" "2a" "30" "36"  "3c"  "42"  "48"  "4e"  "54"  "5a" 
 [8,] "00" "07" "0e" "15" "1c" "23" "2a" "31" "38" "3f"  "46"  "4d"  "54"  "5b"  "62"  "69" 
 [9,] "00" "08" "10" "18" "20" "28" "30" "38" "40" "48"  "50"  "58"  "60"  "68"  "70"  "78" 
[10,] "00" "09" "12" "1b" "24" "2d" "36" "3f" "48" "51"  "5a"  "63"  "6c"  "75"  "7e"  "87" 
[11,] "00" "0a" "14" "1e" "28" "32" "3c" "46" "50" "5a"  "64"  "6e"  "78"  "82"  "8c"  "96" 
[12,] "00" "0b" "16" "21" "2c" "37" "42" "4d" "58" "63"  "6e"  "79"  "84"  "8f"  "9a"  "a5" 
[13,] "00" "0c" "18" "24" "30" "3c" "48" "54" "60" "6c"  "78"  "84"  "90"  "9c"  "a8"  "b4" 
[14,] "00" "0d" "1a" "27" "34" "41" "4e" "5b" "68" "75"  "82"  "8f"  "9c"  "a9"  "b6"  "c3" 
[15,] "00" "0e" "1c" "2a" "38" "46" "54" "62" "70" "7e"  "8c"  "9a"  "a8"  "b6"  "c4"  "d2" 
[16,] "00" "0f" "1e" "2d" "3c" "4b" "5a" "69" "78" "87"  "96"  "a5"  "b4"  "c3"  "d2"  "e1" 

1
कैसे के बारे में: as.hexmode (बाहरी (0: 15,0: 15, `*`))
ixodesbeta

2
या बेहतर अभी तक,as.hexmode(0:15%o%0:15)
Giuseppe

10

बाश + कोरुटिल्स, 40

  • 1 बाइट ने @MitchellSpector को धन्यवाद दिया
printf %02x\  $[{0..15}*{0..15}]|fmt -52
  • बैश अंकगणित विस्तार से पहले ब्रेस विस्तार का विस्तार करता है, इसलिए स्ट्रिंग $[{0..15}*{0..15}]पहले फैलता है $[0*0] $[0*1] $[0*2] ... $[0*15] $[1*0] ... $[15*15]
  • अंकगणित विस्तार की उपरोक्त श्रृंखला तब दशमलव पूर्णांक के रूप में संख्यात्मक तालिका सामग्री तक विस्तारित होती है।
  • printf '%02x 'हेक्स के रूप में दशमलव पूर्णांकों की इस सूची को व्यक्त करता है, दो पात्रों से शून्य गद्देदार
  • fmt -52वांछित संरेखण देते हुए पूर्णांक को 47 वर्णों वाली लाइनों के रूप में स्वरूपित करता है। नोट fmtलाइनों के गोल अक्षरों को चौड़ा बनाने की कोशिश करता है । डिफ़ॉल्ट रूप से, यह चौड़ाई से 7% कम है। 52 * 93% -1 (न्यूलाइन के लिए) = 47।

इसे ऑनलाइन आज़माएं


1
अच्छा समाधान है। ऐसा लगता है कि आप fmt -52 (w के बिना) का उपयोग करके एक बाइट को बंद कर सकते हैं।
मिशेल स्पेक्टर

अच्छा! btw। zsh में यह {0..15}\*{0..15}2 बाइट्स छोटा हो सकता है :)
19

5

सी # 6, 98 बाइट्स

()=>{int i,j;for(i=-1;++i<16;)for(j=-1;++j<16;)System.Console.Write($"{i*j:x2} {j<15?"":"\n"}");};

repl.it डेमो

लूप के लिए मानक नेस्टेड। केवल ट्रिक है जब j> = 15 पर न्यूलाइन प्रिंट करें।


+1, लेकिन ऐसा लगता है कि यह पसंद नहीं है$""
Metoniem

@Metoniem tio.run/# बहुत बेहतर है
हाइपरन्यूट्रीनो

4

जावास्क्रिप्ट (ईएस 6), 79 78 77 बाइट्स

f=(i=256)=>i?f(--i)+(i%16*(i>>4)+256).toString(16).slice(1)+`
 `[~i&15&&1]:``

document.write('<pre>'+f())

संपादित करें: @ ब्युरोक्शन्स के लिए 1 बाइट धन्यवाद और @YairRand के लिए एक और बाइट धन्यवाद।


@ETHproductions बाह, .slice(-2)जब मैं कर रहा था तब से बचा हुआ था ('0'+toString(16))। मुझे लगता है कि मैंने पहले ही कोशिश कर ली थी, ' \n'[+!(~i&15)]लेकिन यह एक ही लंबाई है।
नील

@ETHproductions मैंने 1 बाइट्स भी बचाईं ...
नील

आप को बदल कर एक बाइट बचा सकता है (~i&15?' ':'\n')के साथ ' \n'[~i&15&&1]
यार रैंड

@YairRand मुझे लगता है कि आप का मतलब है, '\n 'लेकिन मुझे यह विचार है, धन्यवाद!
नील


3

पॉवरशेल , 46 बाइट्स

0..15|%{$i=$_;"$(0..15|%{"{0:X2}"-f($i*$_)})"}

इसे ऑनलाइन आज़माएं!

से लूप्स 0के लिए 15, सेट $iहोने के लिए कि वर्तमान संख्या, उसके बाद फिर से लूप। का उपयोग करता है -fके साथ ormat ऑपरेटर X2उत्पादन वह है निर्दिष्ट करने के लिए पद Xके लिए adecimal गद्देदार 2अग्रणी शून्य के साथ रिक्त स्थान।

विशेष ध्यान दें, और वास्तव में एकमात्र गोल्फ है, यह कि (...)-join' 'हेक्स परिणामों को लेने के लिए ए का उपयोग करने के बजाय , उन्हें एक सरणी में एनकैप्सुलेट करें, और उन्हें एक स्ट्रिंग में एक साथ मिलाएं, हम इस तथ्य का लाभ उठाते हैं कि $OutputFieldSeparatorकिसी सरणी को स्ट्रिंग करने के लिए डिफ़ॉल्ट मान है। अंतरिक्ष। इसका मतलब है कि हम इसके "$(...)"बजाय एक स्क्रिप्ट ब्लॉक के साथ एक स्ट्रिंग कर सकते हैं , जिससे 6 बाइट्स बचती हैं।

उन तारों को पाइप लाइन पर छोड़ दिया गया है, और Write-Outputकार्यक्रम पूरा होने पर निहित के माध्यम से आउटपुट हमें मुफ्त में उनके बीच एक नई रेखा देता है।


3

हास्केल , 87 बाइट्स

import Numeric
main=mapM(\x->putStrLn$do y<-s;['0'|x*y<16]++showHex(x*y)" ")s
s=[0..15]

इसे ऑनलाइन आज़माएं!

मुझे लगता है कि वहाँ एक बेहतर तरीका है। शायद printfपैकेज पर निर्भर हो …।


2
किसी भी आयात का उपयोग आप mapM(pure"0123456789abcdef")".."!!(x*y)++" "उसी बाइटकाउंट के लिए नहीं कर सकते हैं , लेकिन आप printf 81 बाइट्स के साथ सही हैं ।
ბიმო


2

रूबी, 49 बाइट्स

256.times{|i|print"%02x "%(i/16*j=i%16),$/*j/=15}

%ऑपरेटर के बराबर सुंदर सीधा उपयोग sprintf

$/लाइन विभाजक चर है ( \nडिफ़ॉल्ट रूप से)

j/=15लंबे समय तक कोष्ठक से बचने के लिए असाइनमेंट के उपयोग पर ध्यान दें(j/15)


2

मैथेमेटिका, 46 बाइट्स

Grid@Array[IntegerString[1##,16,2]&,{16,16},0]

अंतर्निहित IntegerString, बेस 16में पैडिंग, लंबाई का उपयोग करके सीधा कार्यान्वयन 2Array[...,{16,16},0]दो चर 0 से 15 करने के लिए प्रत्येक रन है।


2

मतलाब, 53 बाइट्स

for i=[0:15]'*[0:15];fprintf('%02X ',i);disp(' ');end

नमूना उत्पादन:

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F  
00 02 04 06 08 0A 0C 0E 10 12 14 16 18 1A 1C 1E  
00 03 06 09 0C 0F 12 15 18 1B 1E 21 24 27 2A 2D  
00 04 08 0C 10 14 18 1C 20 24 28 2C 30 34 38 3C  
00 05 0A 0F 14 19 1E 23 28 2D 32 37 3C 41 46 4B  
00 06 0C 12 18 1E 24 2A 30 36 3C 42 48 4E 54 5A  
00 07 0E 15 1C 23 2A 31 38 3F 46 4D 54 5B 62 69  
00 08 10 18 20 28 30 38 40 48 50 58 60 68 70 78  
00 09 12 1B 24 2D 36 3F 48 51 5A 63 6C 75 7E 87  
00 0A 14 1E 28 32 3C 46 50 5A 64 6E 78 82 8C 96  
00 0B 16 21 2C 37 42 4D 58 63 6E 79 84 8F 9A A5  
00 0C 18 24 30 3C 48 54 60 6C 78 84 90 9C A8 B4  
00 0D 1A 27 34 41 4E 5B 68 75 82 8F 9C A9 B6 C3  
00 0E 1C 2A 38 46 54 62 70 7E 8C 9A A8 B6 C4 D2  
00 0F 1E 2D 3C 4B 5A 69 78 87 96 A5 B4 C3 D2 E1 


2

पर्ल, 48 बाइट्स

for$a(@%=0..15){printf"%02x "x@%.$/,map$a*$_,@%}

इसे ऑनलाइन आज़माएं!

मैं सकारात्मक हूं कि यह आशावादी नहीं है, लेकिन अगर मुझे कुछ बेहतर मिल सकता है तो मैं अभिशप्त हो जाऊंगा।

कोड टूटने:

for$a(@%=0..15){printf"%02x "x@%.$/,map$a*$_,@%}
         0..15                                    #Create a list of the range 0 - 15...
      @%=                                         #...and store it in the array @%
for$a(        ){                               }  #Loop through @% with $a as the iterator
                printf[  string   ],[ params  ]   #Perl's port of the standard printf function
                      "%02x "                     #2-digit (hexit?) padding, followed by space...
                             x@%                  #...repeated 16 times (in scalar context, @% represents the size of array @%)...
                                .$/               #...followed by a newline
                                     map$a*$_,@%  #Loops through @%, and using $_ as the iterator, returns a list composed of each member of @% multiplied by the current $a


2

जावास्क्रिप्ट, 104 बाइट्स

s="";for(a=0;16>a;a++){for(b=0;16>b;b++)c=(a*b).toString(16),s=1==c.length?s+(" 0"+c):s+(" "+c);s+="\n"}

चर का उपयोग करके कॉल करें s:

console.log("HEX Table: " + s)

अघोषित कोड:

s=""; // Define s as empty string
for(a=0;16>a;a++){ // For y axis
  for(b=0;16>b;b++) // For x axis
    c=(a*b).toString(16),s=1==c.length?s+(" 0"+c):s+(" "+c); // Multiply and format
  s+="\n" // Add line breaks
}

क्या "\n"लाइन ब्रेक नहीं है ? वाह, किसी ने एक बार के लिए शुद्ध ईसीएमए का उपयोग किया ।
२२:४

और आपको उपयोग करने में सक्षम होना चाहिए s+=2>c.length?" 0"+c:" "+c
जकार्इ

मुझे पता है कि यह पुराना है, लेकिन मैंने कुछ बचत पर ध्यान दिया जो भविष्य की चुनौतियों में भी मदद कर सकती हैं! आप दोनों सेट कर सकते हैं aऔर sकरने के लिए ""के बाद से ""*0अब भी है 0। यह संभव है b++कि जहां आप इसे a*bएक और मामूली बचत के लिए उपयोग कर रहे हैं, वहां आपको इनलाइन करना संभव है , लेकिन यदि आप स्ट्रिंग को फिर से लिखते हैं: तो s+=" "+(0+(a*b++).toString(16)).substr(-2)यह एक ठग को बचाएगा। उन लोगों के साथ 86 बाइट्स में होना चाहिए! उम्मीद है की वो मदद करदे!
डोम हेस्टिंग्स

2

सी, 68 66 बाइट्स

f(i){for(i=0;i<256;)printf("%02x%c",i%16*(i++/16),i%16<15?32:10);}

सीट्स के लिए -2 बाइट्स धन्यवाद!

Ungolfed:

f(i){
  for(i=0; i<256;)
    printf("%02x%c", i%16*(i++/16), i%16<15 ? 32 : 10);
}

शून्य गद्देदार परिणाम और या तो स्थान या नई रेखा प्रिंट करता है।


क्या यह iस्पष्ट रूप intसे C की मानक विशेषता के रूप में घटाया गया है?
सेरगिओल

@sergiol हाँ, intडिफ़ॉल्ट धारणा है।
कार्ल नेफ

अफसोस की बात है कि आउटपुट C मानक (C99 - 6.5.2.2 फ़ंक्शन कॉल) के अनुसार अपरिभाषित है।
जस्म्स

सुझाएँ ~i%16बजायi%16<15
ceilingcat

2

पायथन 3, 55 बाइट्स

r=range(16)
for x in r:print(*['%02x'%(x*y)for y in r])

% स्वरूपण का उपयोग करके [2:] उपयोग पर कुछ बाइट्स बचाता है। तो प्रिंट समारोह पर * विभाजन का उपयोग करता है।


2

जाप -R , 20 15 बाइट्स

GÆGÇ*X sGÃùT2 ¸

यह ऑनलाइन की कोशिश करो!

GÆGÇ*X sGÃùT2 ¸
G                   :16
 Æ                  :Map each X in the range [0,G)
  GÇ                :  Map the range [0,G)
    *X              :    Multiply by X
       sG           :    Convert to base-16 string
         Ã          :  End map
          ù         :  Left pad each
           T        :    With 0
            2       :    To length 2
              ¸     :  Join with spaces
                    :Implicitly join with newlines and output

आप बस के ®बजाय आसानी से किया जा सकता है Ë? पी
ETHproductions

@ETHproductions: हाँ, लेकिन मैं चमकदार नए शॉर्टकट के साथ खेलना चाहता था! : D
Shaggy


1

05AB1E , 17 बाइट्स

16F15ÝN*8o+h€¦ðý»

इसे ऑनलाइन आज़माएं!

16F               For N in [0,15]
   15Ý            Push [0, ..., 15]
      N*          Multiply by N
        8o+       Add 256
           h      Take the uppercase hexadecimal representation
            €¦    Remove the leading 1 of each value
              ðý  Join with spaces
                » End for and join everything with newlines

05AB1E में इसे संभालने का एक बेहतर तरीका हो सकता है।



वास्तव में! ;) इस तरह के आदेश वापस तो मौजूद नहीं थे; 256 धक्का 2-बाइट कमांड था žz12 नवंबर 2016 को Info.txt देखें । यह देखकर अच्छा लगा कि भाषा अभी भी विकसित हो रही है और लोग इसका उपयोग करते हैं: डी।
ओसेबल

आह अच्छा। मुझे पता था कि छोटी संख्या स्थिरांक बहुत नए हैं, लेकिन सोचा के लिए 256वहाँ लंबे समय तक किया गया था। लेकिन मुझे लगता है कि आपका जवाब दिसंबर 2016 से है, इसलिए मैं समझ सकता हूं कि यह उस समय नहीं था। :) मैंने 2016 से कुछ 05AB1E उत्तर देखे हैं जो अभी तक अंतर्निहित इनपुट नहीं थे ..
केविन क्रूज़सेन

1

सी, 61 बाइट्स

i;f(){while(i<256)printf("%02x%c",i%16*(i>>4),++i%16?32:10);}

Wandbox


क्या यह iस्पष्ट रूप intसे C की मानक विशेषता के रूप में घटाया गया है?
सेरगिओल

1

पायथन 2, 102 97 92 90 89 बाइट्स

i=1
exec"print' '.join('%02x'%(j-x)*(i>0)for x,j in enumerate(range(0,16*i,i)));i+=1;"*16

आउटपुट:

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e
00 03 06 09 0c 0f 12 15 18 1b 1e 21 24 27 2a 2d
00 04 08 0c 10 14 18 1c 20 24 28 2c 30 34 38 3c
00 05 0a 0f 14 19 1e 23 28 2d 32 37 3c 41 46 4b
00 06 0c 12 18 1e 24 2a 30 36 3c 42 48 4e 54 5a
00 07 0e 15 1c 23 2a 31 38 3f 46 4d 54 5b 62 69
00 08 10 18 20 28 30 38 40 48 50 58 60 68 70 78
00 09 12 1b 24 2d 36 3f 48 51 5a 63 6c 75 7e 87
00 0a 14 1e 28 32 3c 46 50 5a 64 6e 78 82 8c 96
00 0b 16 21 2c 37 42 4d 58 63 6e 79 84 8f 9a a5
00 0c 18 24 30 3c 48 54 60 6c 78 84 90 9c a8 b4
00 0d 1a 27 34 41 4e 5b 68 75 82 8f 9c a9 b6 c3
00 0e 1c 2a 38 46 54 62 70 7e 8c 9a a8 b6 c4 d2
00 0f 1e 2d 3c 4b 5a 69 78 87 96 a5 b4 c3 d2 e1

इसे ऑनलाइन आज़माएं!


1

स्माइलबासिक, 56 51 47 बाइट्स

I=RND(16)J=RND(16)LOCATE I*3,J?HEX$(I*J,2)EXEC.

1

के, 50 बाइट्स

`0:" "/'("0123456789abcdef"@16 16\)''{x*\:/:x}@!16

काश, यह एक अंतर्निहित हेक्साडेसिमल प्रिंटर की कमी से बाधित होता है।

दाएँ-से-बाएँ पढ़ना, अधिक-या-कम:

                                               !16 / make the array {0, 1, 2, ..., 15}
                                     {x*\:/:x}@    / cartesian product of the array multiplied by itself, results in a table
        (                         )''              / for each row, for each column
                            16 16\                 / decode int to two digits in base 16
         "0123456789abcdef"@                       / get the characters to form a string
   " "/'                                           / join the columns with a space, the table is now an array 
`0:                                                / print the array, each element is one line

1

/// , 588 बाइट्स

/;/\/ //|/\/\///A/00 |B/
A|C;0|D;1|E;2|F;3|G;4|H;5|I;6|J;7|K;8/AAAAAAAAAAAAAAAAB01C2C3C4C5C6C7C8C9CaCbCcCdCeCf B02C4C6C8CaCcCeD0D2D4D6D8DaDcDe B03C6C9CcCfD2D5D8DbDeE1E4E7EaEd B04C8CcD0D4D8DcE0E4E8EcF0F4F8Fc B05CaCfD4D9DeE3E8EdF2F7FcG1G6Gb B06CcD2D8DeE4EaF0F6FcG2G8GeH4Ha B07CeD5 1cE3EaF1F8FfG6GdH4HbI2I9 B08D0D8E0E8F0F8G0G8H0H8I0I8J0J8 B09D2DbE4EdF6FfG8H1HaI3IcJ5JeK7 B0aD4DeE8F2FcG6H0HaI4IeJ8K2Kc 96 B0b 16E1EcF7G2Gd 58I3IeJ9K4Kf 9a a5 B0c 18E4F0FcG8 54I0IcJ8K4 90 9c a8 b4 B0d 1aE7F4G1GeHbI8J5K2Kf 9c a9 b6 c3 B0eDcEaF8G6H4I2J0JeKc 9a a8 b6 c4 d2 B0fDeEdFcGb 5aI9J8K7 96 a5 b4 c3 d2 e1 

एक और पठनीय संस्करण newlines के साथ:

/]
[///;/\/ //|/\/\///A/00 |B/
A|C;0|D;1|E;2|F;3|G;4|H;5|I;6|J;7|K;8/]
[AAAAAAAAAAAAAAAAB01C2C3C4C5C6C7C8C9CaCbCcCdCeCf ]
[B02C4C6C8CaCcCeD0D2D4D6D8DaDcDe B03C6C9CcCfD2D5D]
[8DbDeE1E4E7EaEd B04C8CcD0D4D8DcE0E4E8EcF0F4F8Fc ]
[B05CaCfD4D9DeE3E8EdF2F7FcG1G6Gb B06CcD2D8DeE4EaF]
[0F6FcG2G8GeH4Ha B07CeD5 1cE3EaF1F8FfG6GdH4HbI2I9]
[ B08D0D8E0E8F0F8G0G8H0H8I0I8J0J8 B09D2DbE4EdF6Ff]
[G8H1HaI3IcJ5JeK7 B0aD4DeE8F2FcG6H0HaI4IeJ8K2Kc 9]
[6 B0b 16E1EcF7G2Gd 58I3IeJ9K4Kf 9a a5 B0c 18E4F0]
[FcG8 54I0IcJ8K4 90 9c a8 b4 B0d 1aE7F4G1GeHbI8J5]
[K2Kf 9c a9 b6 c3 B0eDcEaF8G6H4I2J0JeKc 9a a8 b6 ]
[c4 d2 B0fDeEdFcGb 5aI9J8K7 96 a5 b4 c3 d2 e1 

बहुत आसान है अगर आप जानते हैं कि /// कैसे काम करता है। यह सिर्फ कुछ स्ट्रिंग प्रतिस्थापन है।


1

/// , 544 बाइट्स

खैर, अब सभी का जवाब है ///:

/|/\/\///Z/\/ |P/
0B|MZ9|LZ8|KZ7|JZ6|IZ5|HZ4|GZ3|FZ2|EZ1|C/BBB|B/0A|AZ0/0CCCCC0P1A2A3A4A5A6A7A8A9AaAbAcAdAeAfP2A4A6A8AaAcAeE0E2E4E6E8EaEcEeP3A6A9AcAfE2E5E8EbEeF1F4F7FaFdP4A8AcE0E4E8EcF0F4F8FcG0G4G8GcP5AaAfE4E9EeF3F8FdG2G7GcH1H6HbP6AcE2E8EeF4FaG0G6GcH2H8HeI4IaP7AeE5EcF3FaG1G8GfH6HdI4IbJ2J9P8E0E8F0F8G0G8H0H8I0I8J0J8K0K8P9E2EbF4FdG6GfH8I1IaJ3JcK5KeL7PaE4EeF8G2GcH6I0IaJ4JeK8L2LcM6PbE6F1FcG7H2HdI8J3JeK9L4LfMa a5PcE8F4G0GcH8I4J0JcK8L4M0Mc a8 b4PdEaF7G4H1HeIbJ8K5L2LfMc a9 b6 c3PeEcFaG8H6I4J2K0KeLcMa a8 b6 c4 d2PfEeFdGcHbIaJ9K8L7M6 a5 b4 c3 d2 e1

मैं प्रतिस्थापित \s0के माध्यम से \s9के साथ Aतो Eके माध्यम से M, 0 0के साथ C, \n00 0पी के साथ, /\sके साथ Zऔर अंत में //साथ |, के रूप में मैं गया कोड के सामने इन सभी को जोड़ने।

इसे ऑनलाइन आज़माएं!


1

पायथन 3, 66 बाइट्स

r=range(16)
for i in r:print(*[('0'+hex(j*i)[2:])[-2:]for j in r])

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.