इस गुणन तालिका को प्रिंट करें


17

निम्न गुणा तालिका को मुद्रित करने के लिए सबसे छोटा कोड लिखें:

1×1=1
1×2=2  2×2=4
1×3=3  2×3=6  3×3=9
1×4=4  2×4=8  3×4=12 4×4=16
1×5=5  2×5=10 3×5=15 4×5=20 5×5=25
1×6=6  2×6=12 3×6=18 4×6=24 5×6=30 6×6=36
1×7=7  2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=49
1×8=8  2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=64
1×9=9  2×9=18 3×9=27 4×9=36 5×9=45 6×9=54 7×9=63 8×9=72 9×9=81

6
क्या कोई वास्तव में 2 forछोरों के अलावा कुछ भी करने जा रहा है ? चुनौतीपूर्ण (दिलचस्प) हिस्सा कहाँ है?
jdstankosky

3
मैं उपयोग नहीं करता for। ठीक है, मैं उपयोग करता हूं while
जोहान्स कुह्न

3
रिक्त स्थान महत्वपूर्ण हैं?
मोनिका

पहले कॉलम में 2 स्थान क्यों हैं और 1 नहीं है? (अन्य
कॉलम्स के

1
@jdstankosky शायद आपको मेरा जवाब थोड़ा और दिलचस्प लग सकता है - इसमें कोई लूप शामिल नहीं है
टेलर स्कॉट

जवाबों:


13

एक्सेल, 92 91 बाइट्स

VBA संपादक की तत्काल विंडो से, निम्न कमांड चलाएँ: Range("A1:I9").Formula="=IF(ROW()<COLUMN(),"""",COLUMN()&""×""&ROW()&""=""&COLUMN()*ROW())" आउटपुट सीधे सक्रिय वर्कशीट पर है। एक्सेल आउटपुट स्क्रीनशॉट

मैं करने के ifलिए बदलने के >=लिए एक के क्रम स्वैप द्वारा एक अतिरिक्त बाइट गोल्फ <। मैंने स्क्रीनशॉट को अपडेट नहीं किया, लेकिन यह केवल आउटपुट के शीर्ष पर सूत्र को प्रभावित करता है, न कि आउटपुट को।


हा! मैंने सोचा कि जब मैं एक एक्सेल जवाब देखूंगा, तो +1।
मैजिक ऑक्टोपस Urn

1
धन्यवाद। मुझे लगता है कि मैं सामान्य रूप से नेस्टेड FORलूप के बिना करने के बारे में टिप्पणियों से आंशिक रूप से प्रेरित था ।
गिटारपिकर


8

पायथन (75)

r=range(1,10)
for i in r:print''.join('%sx%s=%-3s'%(j,i,i*j)for j in r[:i])

अन्य दो पायथन संस्करणों की तुलना में थोड़ा बेहतर गोल्फ है।


-1 बाइट्स के लिए f- स्ट्रिंग्स के साथ पायथन 3.6 का उपयोग करें: TIO
connectyourcharger

7

सी ++, 106 98 बाइट्स

मैंने दो छोरों और कुछ तरकीबों का इस्तेमाल किया।

#import <cstdio>
main(){for(int i,j;i++-9;j=0)while(j++-i)printf("%dx%d=%d%c",j,i,i*j,j<i?32:10);}

PPCG में आपका स्वागत है! अच्छी पहली पोस्ट!
R

1
#import <stdio.h> main(){for(int i=0,j;i++-9;j=0)while(j++-i)printf("%dx%d=%d%s",j,i,i*j,j<i?"\n":" ";}3 बाइट्स छोटी है।
DJMcMayhem

क्या आपको #importऔर के बीच की जगह की आवश्यकता है <cstdio>?
जकार्इ

@ Zacharý नहीं उस जगह की जरूरत नहीं है
कार्ल नेप ने

5

J: 57 51 वर्ण

([:;"2*\#"2(":@],'x',":@[,'=',":@*,' '"_)"0/~)>:i.9

कोई छोरियां नहीं।


Conjunctions (और क्रियाविशेषण) क्रियाओं की तुलना में अधिक पूर्वता रखते हैं ताकि आप कोष्ठक के 3 जोड़े निकाल सकें। ([:;"2*\#"2(":@],'x',":@[,'=',":@*,' '"_)"0/~)>:i.9
रैंडमरा

@randomra अच्छा फोन। पारितोषिक के लिए धन्यवाद!
SL2

4

एपीएल (37)

∆∘.{⊃(⍺≥⍵)/,/(⍕⍺)'×'(⍕⍵)'=',⍕⍺×⍵}∆←⍳9

और यह केवल दो-छोरों के लिए भी नहीं है। एपीएल में, निम्नलिखित निर्माण:

x ∘.F y

जहां xऔर yसूची में हैं, और Fएक फ़ंक्शन है, Fप्रत्येक जोड़ी में आइटम पर लागू होता हैx और yऔर आप एक मैट्रिक्स देता है।

तो: ∆∘.×∆←⍳9आप 1 से एक गुणन तालिका 9. करने के लिए उपरोक्त समारोह उत्पन्न प्रत्येक जोड़ी के लिए आवश्यक स्ट्रिंग हो जाता है, यानी (⍕⍺), पहले नंबर, जिसके बाद की स्ट्रिंग प्रतिनिधित्व ×, जिसके बाद (⍕⍵), दूसरे नंबर की स्ट्रिंग प्रतिनिधित्व, जिसके बाद =, के बाद ⍕⍺×⍵, जब तक ⍺≥⍵


4

रूबी: 60 59 वर्ण

1.upto(9){|i|puts (1..i).map{|j|"%dx%d=%-3d"%[j,i,i*j]}*""}

नमूना रन:

bash-4.2$ ruby -e '1.upto(9){|i|puts (1..i).map{|j|"%dx%d=%-3d"%[j,i,i*j]}*""}'
1x1=1 
1x2=2  2x2=4 
1x3=3  2x3=6  3x3=9 
1x4=4  2x4=8  3x4=12 4x4=16
1x5=5  2x5=10 3x5=15 4x5=20 5x5=25
1x6=6  2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
1x7=7  2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
1x8=8  2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
1x9=9  2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81

प्रारंभिक (1..9).map{में बदलकर एक चरित्र को बचा सकता है 1.upto(9){!
पॉल प्रेस्टिज

अनुगामी स्थान (पहली 3 पंक्तियाँ) हैं। मूल तालिका उनके पास नहीं है। मुझे यकीन नहीं है कि अगर इससे कोई फर्क पड़ता है, तो ...
मोनिका

@WolframH, मेरे द्वारा जांचे गए सभी समाधानों में या तो रिक्त स्थान हैं या सटीक स्वरूपण पुन: प्रस्तुत नहीं करते हैं।
मैनेटवर्क

4

पर्ल, 54 वर्ण

printf"%dx$?=%-3d"x$?.$/,map{$_,$_*$?}1..$?while$?++<9

4

एपीएल (Dyalog), 28

↑{⍵{⍕⍵,'×',⍺,'=',⍺×⍵}¨⍳⍵}¨⍳9

अन्य भाषाओं में एक डबल लूप के अनुरूप

{⍵{...}¨⍳⍵}¨⍳9डबल लूप सेट
⍕⍵,'×',⍺,'=',⍺×⍵करता है प्रत्येक जोड़ी के लिए स्ट्रिंग बनाता है
सरणी के लिए सरणी के सरणी के कन्वर्ट सरणी

उत्पादन

1 × 1 = 1                                                                                                 
1 × 2 = 2  2 × 2 = 4                                                                                      
1 × 3 = 3  2 × 3 = 6   3 × 3 = 9                                                                          
1 × 4 = 4  2 × 4 = 8   3 × 4 = 12  4 × 4 = 16                                                             
1 × 5 = 5  2 × 5 = 10  3 × 5 = 15  4 × 5 = 20  5 × 5 = 25                                                 
1 × 6 = 6  2 × 6 = 12  3 × 6 = 18  4 × 6 = 24  5 × 6 = 30  6 × 6 = 36                                     
1 × 7 = 7  2 × 7 = 14  3 × 7 = 21  4 × 7 = 28  5 × 7 = 35  6 × 7 = 42  7 × 7 = 49                         
1 × 8 = 8  2 × 8 = 16  3 × 8 = 24  4 × 8 = 32  5 × 8 = 40  6 × 8 = 48  7 × 8 = 56  8 × 8 = 64             
1 × 9 = 9  2 × 9 = 18  3 × 9 = 27  4 × 9 = 36  5 × 9 = 45  6 × 9 = 54  7 × 9 = 63  8 × 9 = 72  9 × 9 = 81

आप कुछ अल्पविरामों को एक ही प्रभाव से निकाल सकते हैं: ↑{⍵{⍕⍵'×'⍺'=',⍺×⍵}¨⍳⍵}¨⍳9या नए "की-ऑपरेटर" का उपयोग भी कर सकते हैं:{⍕⍵'×'⍺'=',⍺×⍵}¨∘⍳⌸⍳9
ngn

4

गणितज्ञ , ४५

बहुत उबाऊ है, लेकिन मुझे लगता है कि यह एक वाक्यविन्यास तुलना के रूप में कार्य करता है:

Grid@Table[Row@{a, "x", b, "=", a b}, {a, 9}, {b, a}]

2
क्या, आप मुझे बता रहे हैं कि इसके लिए कोई बिल्टइन नहीं है?
हारून

1
@Aaron के समारोह ब्लोट मेथेमेटिका हद तक नहीं है कि अब तक अभी तक, शुक्र है।
श्री। छिपकली

4

डी, 75 चर

foreach(i,1..10){foreach(j,1..i+1){writef("%dx%d=%d ",i,j,i*j);}writeln();}

आपने अभी कहा कि कोड फंक्शन या फुल प्रोग्राम नहीं है


1
डिफ़ॉल्ट रूप से, स्निपेट की अनुमति नहीं है; एक समारोह या पूर्ण कार्यक्रम की आवश्यकता है।
एक स्पेगेटो

@quartata यह उत्तर एक साल और डेढ़ साल की हमारी चूक को दर्शाता है।
डेनिस

@ डेनिस ओह, मुझे नहीं पता था कि कोई स्निपेट की अनुमति नहीं थी नियम नया था। माफ़ करना।
एक स्पेगेटो

क्या यह काम करेगा? foreach(i,1..10){foreach(j,1..i+1)writef("%dx%d=%d ",i,j,i*j);writeln;}
जचारि

3

वीबीएसस्क्रिप्ट (133); छोरों के बिना।

g=""
sub m(x,y)
    g=x&"x"&y&"="&x*y&vbTab&g
    if x>1 then 
        m x-1,y
    elseif y>1 then 
        g=vbLf&g 
        m y-1,y-1
    end if
end sub
m 9,9
wscript.echo g

चैलेंजर के अनुरोध पर: कोई लूप नहीं। यह कोड पुनरावर्ती उप-कॉल का उपयोग करता है।



3

x86_64 मशीन कोड (लिनक्स), 175 99 76 बाइट्स

0000000000400080 <_start>:
  400080:   66 bf 09 00             mov    $0x9,%di

0000000000400084 <_table.L2>:
  400084:   6a 0a                   pushq  $0xa
  400086:   89 fe                   mov    %edi,%esi

0000000000400088 <_table.L3>:
  400088:   89 f0                   mov    %esi,%eax
  40008a:   f7 e7                   mul    %edi

000000000040008c <_printInteger>:
  40008c:   6a 20                   pushq  $0x20
  40008e:   3c 0a                   cmp    $0xa,%al
  400090:   7d 02                   jge    400094 <_printInteger.L1>
  400092:   6a 20                   pushq  $0x20

0000000000400094 <_printInteger.L1>:
  400094:   66 31 d2                xor    %dx,%dx
  400097:   b3 0a                   mov    $0xa,%bl
  400099:   66 f7 f3                div    %bx
  40009c:   83 c2 30                add    $0x30,%edx
  40009f:   52                      push   %rdx
  4000a0:   66 85 c0                test   %ax,%ax
  4000a3:   75 ef                   jne    400094 <_printInteger.L1>
  4000a5:   6a 3d                   pushq  $0x3d
  4000a7:   66 57                   push   %di
  4000a9:   80 04 24 30             addb   $0x30,(%rsp)
  4000ad:   6a 78                   pushq  $0x78
  4000af:   66 56                   push   %si
  4000b1:   80 04 24 30             addb   $0x30,(%rsp)
  4000b5:   ff ce                   dec    %esi
  4000b7:   75 cf                   jne    400088 <_table.L3>
  4000b9:   ff cf                   dec    %edi
  4000bb:   75 c7                   jne    400084 <_table.L2>

00000000004000bd <_printChars>:
  4000bd:   66 ba 00 08             mov    $0x800,%dx
  4000c1:   b0 01                   mov    $0x1,%al
  4000c3:   66 bf 01 00             mov    $0x1,%di
  4000c7:   48 89 e6                mov    %rsp,%rsi
  4000ca:   0f 05                   syscall

यह बाइनरी फ़ाइल का एक डंप है, और यह सभी 175 बाइट्स है। यह मूल रूप से एक ही दो छोरों को करता है जो सभी उत्तर करते हैं, लेकिन कंसोल पर मुद्रण थोड़ा कठिन है और मूल रूप से वर्णों को रिवर्स में ढेर पर प्रिंट करने के लिए धक्का देना पड़ता है, और फिर वास्तव में उन वर्णों को रखने के लिए एक (linux विशिष्ट) syscall बना रहा है स्टडआउट में।

मैंने अब इसे ऑप्टिमाइज़ कर दिया है ताकि केवल 1 लेखन ऑपरेशन (तेज!) किया जाए और इसमें जादुई संख्या (वाह!) हो और सिसकॉल बनाने से पहले पूरे परिणाम को स्टैक पर पीछे धकेल कर। मैंने एग्जिट रूटीन भी निकाला क्योंकि सही एग्जिट कोड की जरूरत किसे है?

यहाँ मेरे पहले और दूसरे प्रयास का लिंक दिया गया है , उनके मूल नैश सिंटैक्स में।

मैं किसी ऐसे व्यक्ति का स्वागत करता हूं जिसके पास कोई अन्य सुझाव है कि इसे कैसे सुधार किया जा सकता है। यदि कोई जिज्ञासु है तो मैं तर्क को और अधिक विस्तार से समझा सकता हूं।

(इसके अलावा, यह सभी कॉलमों को संरेखित करने के लिए अतिरिक्त स्थानों को प्रिंट नहीं करता है, लेकिन अगर यह आवश्यक है कि मैं तर्क को कुछ और बाइट्स की कीमत पर रख सकता हूं)।

संपादित करें: अब अतिरिक्त रिक्त स्थान प्रिंट करता है और नीचे और भी अधिक गोल्फ होता है! यह रजिस्टरों के साथ कुछ सुंदर पागल चीजें कर रहा है, और शायद अस्थिर है अगर इस कार्यक्रम का विस्तार किया जाना था।


PPCG को पूर्ण कार्यक्रमों या कार्यों की आवश्यकता होती है। स्निपेट्स को कथित रूप से अस्वीकृत कर दिया जाता है (अर्थात आप उनका उपयोग केवल तभी कर सकते हैं जब ओपी ने उन्हें स्पष्ट रूप से अनुमति दी हो।)
आउटगोल्फ जूल

मेरी गलती है। मैं भूल गया कि ओपी ने यह निर्दिष्ट नहीं किया है।
davey

3

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

पार्टी के लिए देर हो गई, लेकिन मुझे @jdstankosky की टिप्पणी से दंग रह गए और एक अलग तरीका अपनाने का फैसला किया। यहाँ एक जावास्क्रिप्ट प्रविष्टि है जो एक टेम्प्लेट को बनाती है और अपने आप को रास्ते से हटा देती है।

t="a*b=c ";u="";r=u;for(i=1;i<10;i++){a=0;u=u+t;r+=u.split(' ').map(x=>x.replace('a',++a).replace('b',i)).map(x=>x.replace('*','x').replace('c',eval(x.substr(0,3)))).join(' ')+'\n'}alert(r);

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

function f()
{
    t="a*b=c "; // template for our multiplication table
    u="";r="";  // tmp- and return values
    for(i=1;i<10;i++)
    {
        a=0;    // is auto-incremented in MAP
        u=u+t;// extend the template once per iteration
        v=u.split(' '); // Smash the template to pieces
        w=v.map(x=>x.replace('a', ++a).replace('b', i)) // MAP replaces the A and B's with the correct numbers
        w=w.map(x=>x.replace('*', 'x').replace('c', eval(x.substring(0,3)))).join(' '); // second map evals that and replaces c with the answer, makes the asteriks into an X
        r=r+w+'\n'  // results get concatenated
    }
    return r;
}

1
मैंने उस टिप्पणी को एक समय पहले किया था, हाहा। मुझे वास्तव में यह देखकर खुशी हुई।
jdstankosky

3

पास्कल, 128 बाइट्स

एक पुनरावर्ती प्रक्रिया सब कुछ का ख्याल रखती है। के साथ बुलाओ m(9,9)

procedure m(i,j:integer);begin if i<1then Exit;if i=j then begin m(i-1,j-1);writeln;end;m(i-1,j);write(i,'x',j,'=',i*j,' ');end;

Ungolfed:

procedure mul(i, j: integer);
begin
  if i<1 then
    Exit;
  if i=j then
  begin
    mul(i-1, j-1);
    writeln;
  end;
  mul(i-1, j);
  write(i,'x',j,'=',i*j,' ');
end;

3

फूरियर, 756 632 बाइट्स

124 बाइट्स के लिए @BetaDecay धन्यवाद!

1o120~Ea1o61a1o10~Na1oEa2o61a2o32~Saa2oEa2o61a4oNa1oEa3o61a3oSaa2oEa3o61a6oSaa3oEa3o61a9o^a1oEa4o61a4oSaa2oEa4o61a8oSaa3oEa4o61a12oSa4oEa4o61a16oNa1oEa5o61a5oSaa2oEa5o61aNoSa3oEa5o61a15oSa4oEa5o61a20oSa5oEa5o61a25oNa1oEa6o61a6oSaa2oEa6o61a12oSa3oEa6o61a18oSa4oEa6o61a24oSa5oEa6o61a30oSa6oEa6o61a36oNa1oEa7o61a7oSaa2oEa7o61a14oSa3oEa7o61a21oSa4oEa7o61a28oSa5oEa7o61a35oSa6oEa7o61a42oSa7oEa7o61a49oNa1oEa8o61a8oSaa2oEa8o61a16oSa3oEa8o61a24oSa4oEa8o61aSoa5oEa8o61a40oSa6oEa8o61a48oSa7oEa8o61a56oSa8oEa8o61a64oNa1oEa9o61a9oSaa2oEa9o61a18oSa3oEa9o61a27oSa4oEa9o61a36oSa5oEa9o61a45oSa6oEa9o61a54oSa7oEa9o61a63oSa8oEa9o61a72oSa9oEa9o61a81o

1
मैं १२० बाइट्स के रूप में १२० नंबर चर के रूप में, ई के रूप में ३२ नंबर के रूप में एस और १० एन के रूप में सहेज कर आपके कार्यक्रम को १२४ बाइट्स करने में कामयाब रहा ।
बीटा क्षय

2

vba 55

(तत्काल खिड़की)

for f=1 to 9:for j=1 to f:?f;"x";j;"=";f*j,:next:?:next

नोट - GWBasic को केवल 2 अतिरिक्त वर्ण चाहिए:

1 for f=1 to 9:for j=1 to f:?f;"x";j;"=";f*j,:next:?:next

2

जावास्क्रिप्ट, 75

for(s="",a=b=1;a<10;b=a==b?(a++,alert(s),s="",1):b+1)s+=b+"x"+a+"="+a*b+" "

मुझे आश्चर्य है कि अगर दो से बेहतर (संयुक्त?) छोरों के लिए संभव है ...


ठीक है, केवल एक चीज मुझे यकीन है कि अलग-अलग छोरों पर 75 प्राप्त करना संभव है ( मेरी पुरानी टिप्पणी )
अजाक्स333221

2

कोरुटिल्स / बैश: 147 136 135

for i in {1..9}; do
  yes $'\n' | head -n $[i-1] > $i
  paste -dx= <(yes $i) <(seq $i 9) <(seq $[i*i] $i $[9*i]) |head -n$[10-i] >> $i
done
paste {1..9}

गोल्फ, स्पष्ट न्यूलाइन का उपयोग कर और, पदावनत हेड विकल्प का उपयोग कर (धन्यवाद मैनेटवर्क):

for i in {1..9};do yes '
'|head -$[i-1]>$i;paste -dx= <(yes $i) <(seq $i 9) <(seq $[i*i] $i $[9*i])| head -$[10-i]>>$i;done;paste {1..9}

आउटपुट:

1x1=1                               
1x2=2   2x2=4                           
1x3=3   2x3=6   3x3=9                       
1x4=4   2x4=8   3x4=12  4x4=16                  
1x5=5   2x5=10  3x5=15  4x5=20  5x5=25              
1x6=6   2x6=12  3x6=18  4x6=24  5x6=30  6x6=36          
1x7=7   2x7=14  3x7=21  4x7=28  5x7=35  6x7=42  7x7=49      
1x8=8   2x8=16  3x8=24  4x8=32  5x8=40  6x8=48  7x8=56  8x8=64  
1x9=9   2x9=18  3x9=27  4x9=36  5x9=45  6x9=54  7x9=63  8x9=72  9x9=81

के $(( ))साथ सभी अंकगणितीय मूल्यांकन की जगह से स्पेयर 8 वर्ण $[ ]; $'\n'भागे हुए न्यूलाइन वर्ण को शाब्दिक एक के साथ प्रतिस्थापित करके 2 वर्ण साझा करें (मेरा मतलब है, yes 'एक पंक्ति में, फिर 'निम्नलिखित एक में); का उपयोग नहीं कर से अतिरिक्त 2 पात्रों headके -nविकल्प स्पष्ट रूप से, बस -और संख्या।
मैनटवर्क

@ मैनटवर्क: मैं $[ ]नोटेशन के बारे में नहीं जानता था, यह जानना अच्छा है। -nद्वारा प्रतिस्थापित -केवल एक वर्ण कम है इसलिए यह कुल मिलाकर 11 है, बहुत बहुत धन्यवाद :)।
थोर

2

LOLCODE, 202 बाइट्स

IM IN YR o UPPIN YR b TIL BOTH SAEM b AN 10
c R ""
IM IN YR i UPPIN YR a TIL BOTH SAEM a AN SUM OF b AN 1
c R SMOOSH c SMOOSH a "x" b "=" PRODUKT OF a AN b " " MKAY
IM OUTTA YR i
VISIBLE c
IM OUTTA YR o

Ungolfed:

HAI 1.3 BTW Unnecessary in current implementations
IM IN YR outer UPPIN YR multiplicand TIL BOTH SAEM multiplicand AN 10
    I HAS A output ITZ ""
    IM IN YR inner UPPIN YR multiplier TIL BOTH SAEM multiplier AN SUM OF multiplicand AN 1
        output R SMOOSH output AN SMOOSH multiplier AN "x" AN multiplicand AN "=" AN PRODUCKT OF multiplicand AN multiplier AN " " MKAY MKAY BTW AN is optional to separate arguments, a linebreak is an implicit MKAY.
    IM OUTTA YR inner
    VISIBLE output
IM OUTTA YR outer
KTHXBYE BTW Unnecessary in current implementations

नॉन-लेटस्पीकर के लिए पायथन:

for multiplicand in range(1, 10):
    output = ""
    for multiplier in range(1, multiplicand + 1):
        output = output + (multiplier + "x" + multiplicand + "=" + str(multiplicand * multiplier) + " ")
    print(output)

किसी के रूप में जो भी एक कोड चुनौती प्रस्तुत करने में LOLCODE का इस्तेमाल किया है, मेरे अपवोट है! इस लंग को प्यार करें
jdstankosky

2

सी #, 142 बाइट्स

Enumerable.Range(1,9).ToList().ForEach(i =>Enumerable.Range(1,i).ToList().ForEach(j=>Console.Write("{0}x{1}={2}{3}",j,i,j*i,j==i?"\n":"\t")));

और दृष्टि में एक के लिए नहीं ...


ForEach "दृष्टि में एक के लिए नहीं" अच्छी तरह से ... xD
हाइपरएनुट्रीनो

2

> <> , 50 बाइट्स

1v
 1
?\::n"x"o{::n"="o}*n" "o1+:{:})
 \~1+:a=?;ao

आप इसे ऑनलाइन दुभाषिया पर आजमा सकते हैं ।

ध्यान दें कि प्रत्येक लाइनों पर अनुगामी स्थान है, जो इसे गलत बना सकता है (ओपी ने इस बिंदु पर इस उत्तर के रूप में नहीं बताया है)।



2

जावा, 103 94 92 90 बाइट्स

जावा 9 SDK से JShell का उपयोग करने से मुझे बड़ी मात्रा में स्थान बचाने की अनुमति मिलती है

for(int i=0,j;i++<9;)for(j=1;j<=i;)System.out.print(i+"*"+j+"="+i*j+"\t"+(j++<i?"":"\n"))

केविन के सुझाव के बाद मैंने समाधान को 2 बाइट्स से घटा दिया।

Cliffroot के लिए धन्यवाद, मैं इसे एक और 1 बाइट से कम करने में सक्षम था


1
आप int दूसरे के लिए लूप को हटाकर कुछ बाइट्स बचा सकते हैं , और ,jपहले में जोड़ सकते हैं । तो इस तरह से:for(int i=0,j;++i<=9;)for(j=1;j<=i;)System.out.print(i+"*"+j+"="+i*j+"\t"+(j++<i?"":"\n"));
केविन क्रूज़सेन

ऐसा लगता है कि जगह ले सकता है ++i<=9के साथi++<9
cliffroot

2

सी 79 बाइट्स

i=1,j=1;f(){printf("%dx%d=%d ",j,i,i*j);++i>j?++j,i=1,j<=9?puts(""),f():0:f();}

मुख्य

main(){f();}

टेबल

1x1=1 
2x1=2 2x2=4 
3x1=3 3x2=6 3x3=9 
4x1=4 4x2=8 4x3=12 4x4=16 
5x1=5 5x2=10 5x3=15 5x4=20 5x5=25 
6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36 
7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49 
8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64 
9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81 


1

जावास्क्रिप्ट: 82 वर्ण

o="";for(a=1;a<10;a++){for(b=1;b<=a;b++){o+=a+"x"+b+"="+(a*b)+" "}o+="\n"}alert(o)

1
आपके कोड को इस तरह 75 तक छोटा किया जा सकता है for(i=0,s="";9>i++;){for(j=0;j++<i;)s+=j+"x"+i+"="+j*i+" ";s+="\n"}alert(s), हालांकि 2 अंकों पर डबल स्पेस की बात का सम्मान नहीं किया जाता है, मैं इसे सबमिट करने वाला था, लेकिन +(9<i*j?" ":" ")केवल +" " संपादित करने के बजाय इसका उपयोग कर रहा था : टर्नरी पर डबल स्पेस गायब हो गया, लेकिन वे दूसरे पर हैं परम
अजाक्स ३३२२

मैं picky हो जाऊंगा लेकिन 4x4सीधे 5x4टास्क की तरह नहीं हूं ।
user902383

1

अजगर: 87

मैं उन समाधानों पर नजर रख रहा हूं जो दूसरों ने पोस्ट किए हैं और उनमें से ज्यादातर रिक्ति को सही नहीं पाते हैं।

for i in range(1,10):print''.join(('%s×%s=%s'%(j,i,i*j)).ljust(7)for j in range(1,i+1))

आपके पास अनुगामी स्थान है, क्या वह गणना करता है? ;-)
मोनिका

1

पायथन (79)

या ( 77 ) अगर मैं range(10)इसके अलावा उपयोग करता हूं तो शुरुआत में एक खाली लाइन तैयार करता है

for i in range(1,10):print' '.join('%dx%d=%-2d'%(j,i,j*i)for j in range(1,i+1))

1x1=1 
1x2=2  2x2=4 
1x3=3  2x3=6  3x3=9 
1x4=4  2x4=8  3x4=12 4x4=16
1x5=5  2x5=10 3x5=15 4x5=20 5x5=25
1x6=6  2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
1x7=7  2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
1x8=8  2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
1x9=9  2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81

1

पर्ल: 65 , 62 अक्षर

map{map{printf"%dx%d=%2d ",$_,$i,$_*$i}1..($i=$_);print$/}1..9

printfकोष्ठक को हटाकर 2 वर्णों को छोड़ें; $ 1 के असाइनमेंट को रेंज एक्सप्रेशन में ले जाकर स्पेयर 1 कैरेक्टर map{map{printf"%dx%d=%2d ",$_,$i,$_*$i}1..($i=$_);print$/}1..9:।
manatwork

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