इनपुट द्वारा गुणन सारणी प्रिंट करें


11

इस चुनौती में आप इनपुट द्वारा गुणन सारणी मुद्रित करना चाहते हैं, यहाँ कुछ उदाहरण हैं:

Input: 2 

Output: 
0 2  4 6 8  10  12  14  16  18  20

Input: 20

Output: 20 40 60 80 100 120 140 160 180 200

नियम

  1. बाइट्स में सबसे छोटा कोड जीतता है।

  2. यह चुनौती एक कोड-गोल्फ है, यह कोड-गोल्फ सामान्य नियमों ( ) का अनुसरण करता है

  3. यदि, बस अगर, आपका कोड नंबर प्रिंट नहीं कर सकता है, तो आप अक्षरों का उपयोग कर सकते हैं, यहां एक उदाहरण है:

    इनपुट: बी

    आउटपुट: BDFHJLNPRT

  4. आप 0 या अपनी संख्या (जैसे 20) से शुरू करना चुन सकते हैं। यदि आप रिक्त स्थान रखते हैं या नहीं चुन सकते हैं। चुनौती नि: शुल्क है, बस एक इनपुट और प्रिंट गुणा तालिकाओं को लें।

  5. आपके आउटपुट को दिए गए नंबर के लिए टाइम टेबल के पहले 10 सदस्यों को सूचीबद्ध करना होगा। आप 0 * n छोड़ सकते हैं।


9
आपके पहले उदाहरण में 0 से 10 तक का गुणन है, दूसरे में 1 से 10 तक। क्या हम इनमें से किसी एक को चुन सकते हैं या उनमें से एक टाइपो है? इसके अलावा, क्या आउटपुट को स्पेस-अलग करना पड़ता है या हम अन्य सूची-प्रारूपों का उपयोग कर सकते हैं? (यदि केवल स्थान, आपके उदाहरण में रिक्त स्थान की संख्या थोड़ी यादृच्छिक है।)
मार्टिन एंडर

आप 0 या अपनी संख्या (जैसे 20) से शुरू करना चुन सकते हैं। यदि आप रिक्त स्थान रखते हैं या नहीं चुन सकते हैं। चुनौती नि: शुल्क है, बस एक इनपुट और प्रिंट गुणा तालिकाओं को लें।
रिज्ज़े

4
PPCG में आपका स्वागत है! बहुत आसान चुनौती को देखकर अच्छा लगा, क्योंकि हमारे पास ये पर्याप्त नहीं हैं, हालांकि भविष्य में मैं कुछ और जानकारी जोड़ूंगा। जैसे: परीक्षण के मामलों से ऐसा लगता है कि हमें केवल 10 नंबर आउटपुट करने की आवश्यकता है, लेकिन मुझे यह निर्दिष्ट नहीं है। क्या हमें नकारात्मक इनपुट का समर्थन करने की आवश्यकता है? 2 और 4 के बीच दो स्थान क्यों हैं? पहले परीक्षण के मामले में आउटपुट में 0 क्यों है (इसे 10 के बजाय 11 आउटपुट संख्या बनाते हैं)। आदि आदि भी, प्रस्तावित चुनौतियों के लिए सैंडबॉक्स चुनौती को पूर्ण करने के लिए पहली बार पोस्ट करने के लिए एक अच्छी जगह है
केविन क्रूज़सेन

नियम 3 के तहत, आउटपुट के लिए क्या होना Cचाहिए? कैसे के बारे में Z?
लिन

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

जवाबों:



10

C #, 105 96 67 56 बाइट्स

अब जब मुझे पता है कि C # में लैम्ब्डा का काम कैसा है, तो यहां मेरे पहले उत्तर के लिए एक अपडेट है:

n=>{for(int i=0;i++<10;)System.Console.Write(i*n+" ");};

11 बाइट बचाता है।


पहली पोस्ट, कृपया मुझे जो कुछ भी गलत किया है, उसके लिए मुझे क्षमा करें। इसके अलावा, मुझे गोल्फ टिप्स देने के लिए स्वतंत्र महसूस करें, जैसा कि मैंने पहले कभी नहीं किया है!

void c(int n){for(int i=0;i++<10;){System.Console.Write(i*n+" ");}}

Ungolfed:

void c(int n)
{
    for (int i = 0; i++ < 10 ; )
    {
        System.Console.Write(i*n+" ");
    }
}

धन्यवाद जोनाथन एलन, अभी तक टिप्पणी नहीं जोड़ सकते हैं। और धन्यवाद केविन क्रूज़सेन। मैंने मान लिया कि मुझे हमेशा पूरे कार्यक्रम को शामिल करना होगा जब तक कि यह निर्दिष्ट न किया जाए कि स्निपेट की अनुमति थी। क्या मैं सिस्टम को छोड़ भी पाऊंगा? इस मामले में सांत्वना के लिए कॉल करने के लिए कॉल करें, या फिर आवश्यक / आयात का उपयोग कर रहे हैं?


1
PPCG में आपका स्वागत है! आप क्लास को हटा सकते हैं, केवल मुख्य कार्य गोल्फिंग नियमों द्वारा आवश्यक है :)
जोनाथन एलन

1
@JonathanAllan केवल इतना ही नहीं, बल्कि उन्हीं नियमों के द्वारा आप Mainपूरी तरह से बिना किसी अलग विधि के भी बना सकते हैं। यानी void f(int n){for(int i=0;i++<10;){System.Console.Write(i*n+" ");}}और वास्तव में, PPCG में आपका स्वागत है!
केविन क्रूज़सेन


9

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

⁵R×

पर इसका परीक्षण करें TryItOnline
या पहले 256 मामलों, अच्छी तरह से कम से गठबंधन भी TryItOnline

कैसे?

⁵R× - main link takes one argument, n
⁵   - literal 10
 R  - range [1,2,...,10]
  × - multiply by input (implicit vectorization)

मैं जेली सीखना पसंद करूंगा, लेकिन आधे आदेश मेरे लिए प्रस्तुत नहीं करते, इसलिए यह बेकार होगा: डी
बीटा डेके

@BetaDecay मैं उनमें से अधिकांश को टाइप नहीं कर सकता और वे मेरे लिए किसी भी टेक्स्ट एडिटर या मेरे cmd लाइन पर प्रस्तुत नहीं करते :( - वे मेरे विंडोज 7 मशीन पर फ़ायरफ़ॉक्स में हालांकि ठीक प्रस्तुत करते हैं।
जोनाथन एलन

आप और एमिग्मा जीत रहे हैं।
रिज

@BetaDecay - यह आपको डाउनलोड करने और (पुनः) स्थापित करने में मदद कर सकता है DejaVu Sans Mono फॉन्ट (मैं अब नोटपैड ++ में लगभग हर चरित्र को देख सकता हूँ और फ़ायरफ़ॉक्स के माध्यम से TIO अब इसका भी उपयोग कर रहा है और अभी भी हर चरित्र को प्रदर्शित कर रहा है
जोनाथन एलन

वास्तव में मैंने जो सोचा था, +1।
आउटगॉल्फ

8

क्लोजर, 70 80 बाइट्स

यह CG पर मेरी पहली पोस्ट है, मुझे आशा है कि इनपुट ठीक है:

70 बाइट्स

(defn -main[& a](println(map #(* %(read-string(first a)))(range 10))))

80 बाइट्स

(defn -main[& a](let[n(read-string(first a))](println(map #(* % n)(range 10)))))

कार्यक्रम एक स्टड तर्क के रूप में एक संख्या पढ़ेगा और परिणाम प्रदर्शित करेगा:

उत्पादन

lein run 10
(0 10 20 30 40 50 60 70 80 90)

5
स्वागत हे! यह एक महान पहला जवाब है!
mbomb007


6

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

के लिए +1 शामिल है -n

STDIN पर इनपुट के साथ चलाएँ:

perl -M5.1010 -n table.pl <<< 8

table.pl:

say$_*$`for/$/..10

आप शायद मतलब -n? या किसी को याद किया था?
दादा

@ दादा: सही है, इसे दूसरे संस्करण के साथ स्वीकार किया। फिक्स्ड
टन हास्पेल

5

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

(<$>[1..10]).(*)

प्रयोग उदाहरण: (<$>[1..10]).(*) $ 4-> [4,8,12,16,20,24,28,32,36,40]

का पॉइंटफ्री संस्करण f n = map (n*) [1..10]:।


क्या करता <$>है?
1

@Cyoce: (या जब किसी सूची के साथ प्रयोग किया जाता है) <$>का एक infix संस्करण है , अर्थात इसने सूची के प्रत्येक तत्व के लिए 1 तर्क के रूप में दिए गए फ़ंक्शन को लागू किया है। = = । fmapmapfunc <$> listfmap func listmap func list
nimi



4

PHP, 34 बाइट्स

(34 बाइट्स)

for(;$i++<10;)echo$i*$argv[1].' ';

(34 बाइट्स)

for(;++$i%11;)echo$i*$argv[1].' ';

(34 बाइट्स)

while($i++<10)echo$i*$argv[1].' ';

(35 बाइट्स)

for(;$i++<10;)echo' '.$a+=$argv[1];

( ४१ ४० बाइट्स)

<?=join(' ',range(0,10*$a=$argv[1],$a));

<?=join(' ',range($a=$argv[1],10*$a,$a));

(44 बाइट्स)

foreach(range(1,10)as$i)echo$i*$argv[1].' ';

यदि आप इसे 0 से शुरू करते हैं, तो इसके range()साथ प्रयोग करने $stepवाला छोटा हो सकता है <?=join(' ',range(0,10*$a=$argv[1],$a));
मैनटवर्क

0 से शुरू करने की अनुमति देने वाला नियम तब सेट नहीं किया गया था जब मैंने इसे किया था, लेकिन आप सही हैं; मैं इसे अपडेट करता हूं।
क्रिप्टो

4

जे, 8 बाइट्स

(i.10)&*

इस से श्रृंखला है 0करने के लिए 9समावेशी ( i.10) बंधुआ ( &गुणा समारोह) बुद्धि ( *)। यह शून्य पर शुरू होता है।

परीक्षण के मामलों

   k =: (i.10)&*
   k 2
0 2 4 6 8 10 12 14 16 18
   k 10
0 10 20 30 40 50 60 70 80 90
   k"0 i.10
0 0  0  0  0  0  0  0  0  0
0 1  2  3  4  5  6  7  8  9
0 2  4  6  8 10 12 14 16 18
0 3  6  9 12 15 18 21 24 27
0 4  8 12 16 20 24 28 32 36
0 5 10 15 20 25 30 35 40 45
0 6 12 18 24 30 36 42 48 54
0 7 14 21 28 35 42 49 56 63
0 8 16 24 32 40 48 56 64 72
0 9 18 27 36 45 54 63 72 81

3

Zsh, 19 वर्ण

echo {0..${1}0..$1}

नमूना रन:
(यह इसे चलाने के लिए इंटरेक्टिव तरीका है, इसके साथ समतुल्य है zsh scriptfile.sh 20।)

~ % set -- 20          

~ % echo {0..${1}0..$1}
0 20 40 60 80 100 120 140 160 180 200

3

पायथन 3, 52 33 30 बाइट्स

lambda n:list(range(0,11*n,n))

3 बाइट्स @manatwork की बदौलत बच गईं

आउटपुट स्वरूपण नेत्रहीन आवश्यक नहीं है


1
मेरे शेल उत्तर से उधार:lambda n:" ".join(map(str,range(0,n*11,n)))
मैनटवर्क

@ मैनटवर्क मैं पायथन 3 का उपयोग करें
TuxCrafting

1
आप पायथन 3 का उपयोग करते हैं, लेकिन आप पायथन 2 का उपयोग करके 6 बाइट्स बचा सकते हैं:lambda n:range(0,11*n,n)
जोनाथन एलन

3

माता, 15 29 बाइट्स

args i
mata
A=1..10
B=`i'*A
B

माता Stata वाणिज्यिक सांख्यिकी पैकेज में मैट्रिक्स प्रोग्रामिंग भाषा है। कोड एक मैट्रिक्स बनाता है, इनपुट (इस मामले में 2) से गुणा करता है और नए मैट्रिक्स को आउटपुट करता है

उत्पादन

        1    2    3    4    5    6    7    8    9   10
    +---------------------------------------------------+
  1 |   2    4    6    8   10   12   14   16   18   20  |
    +---------------------------------------------------+

1
यह कैसा इनपुट ले रहा है? इसे पुन: प्रयोज्य करने की भी आवश्यकता है।
जोनाथन एलन

1
ठीक है, इनपुट की प्राप्ति स्पष्ट करने के लिए संपादित किया है
f1rstguess


3

स्टैटा, 46 बाइट्स

args i
set obs `i'
gen x=_n
gen y=x*`i'
list y

उत्पादन

मैं = 15 के लिए

    +-----+
    |   y |
    |-----|
 1. |  15 |
 2. |  30 |
 3. |  45 |
 4. |  60 |
 5. |  75 |
    |-----|
 6. |  90 |
 7. | 105 |
 8. | 120 |
 9. | 135 |
 10.| 150 |
    |-----|
 11.| 165 |
 12.| 180 |
 13.| 195 |
 14.| 210 |
 15.| 225 |

कुछ अतिरिक्त आशुलिपि आप यहां उपयोग कर सकते हैं: अवलोकन के लिए, जी के लिए जी, और सूची के लिए एल। इसके अलावा, दो चर का उपयोग करने के बजाय x का _n * `i 'होना संभव है? मैंने पहले कभी STATA में नहीं देखा था। मुझे कुछ नया दिखाने के लिए धन्यवाद!
bmarks

3

चेडर , 20 बाइट्स

n->(|>11).map(n&(*))

कार्यात्मक / ओ / के लिए याय

मुझे नहीं लगता कि इसके स्पष्टीकरण की आवश्यकता है, लेकिन अगर आप मुझे एक जोड़ने के लिए पूछना चाहते हैं :)


मुझे चेडर सीखना चाहिए। और क्या करता n&(*)है? मैं मान रहा हूं कि (*)एक ही चीज का मतलब है कि मैं हैसेल हूं, लेकिन &उस संदर्भ में क्या करता है?
साइओस


3

जावा 7, 61 57 बाइट्स

void c(int n){for(int i=0;i++<10;)System.out.print(i*n);}

अनगुल्ड और परीक्षण के मामले:

इसे यहाँ आज़माएँ।

class M{
  static void c(int n){
    for(int i = 0; i++ < 10; ){
      System.out.print(i*n);
    }
  }

  public static void main(String[] a){
    c(2);
    System.out.println();
    c(20);
  }
}

आउटपुट:

2468101214161820
20406080100120140160180200

रिक्त स्थान वैकल्पिक हैं, System.out.print (i * n); 4 बाइट्स
बचाएगा

@ कैमरनडॉट 17 आह, यह नियम जोड़ा गया है क्योंकि मैंने यह उत्तर दिया था, लेकिन उल्लेख करने के लिए धन्यवाद। मैंने इसे हटा दिया है।
केविन क्रूजेसेन

3

जावास्क्रिप्ट (ईएस 6), 33 31 बाइट्स

f=(x,i=11)=>--i&&f(x,i)+" "+x*i

यह एक पुनरावर्ती समाधान है।


3

टी-एसक्यूएल 61 बाइट्स

एन को उस नंबर से बदलें, जिसके लिए टेबल को पॉप्युलेट करने की आवश्यकता है। डेमो

SELECT TOP 11 number*n FROM master..spt_values WHERE type='P'

spt_value एसक्यूएल सर्वर में एक अनिर्धारित टेबल है, आप इस तालिका के बारे में अधिक पढ़ सकते हैं

मुझे आशा है कि कोई बेहतर TSQL समाधान के साथ आएगा।


3

स्काला, 24 बाइट्स

(n:Int)=>0 to 10 map(n*)

स्पष्टीकरण:

(n:Int)=> //define an anonymous function
  0 to 10 //create a range from 0 to 10
  map(n*) //multiply each element by the input


2

ब्रेनफ *** , 84 बाइट्स

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

एकल बाइट के रूप में इनपुट की उम्मीद करता है (जैसा कि बीएफ केवल 255 तक की संख्या पर काम कर सकता है) और एकल बाइट्स के रूप में परिणाम देता है। कुछ मान ASCII की तरह लग सकते हैं, लेकिन उन्हें इस तरह से नहीं माना जाना चाहिए; लौटे बाइट्स के दशमलव प्रतिनिधित्व को देखें।

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


आप 5 बाइट्स को>, [> +> +++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ज यदा कर के आप 5 बाइट बचा सकते हैं। ++++> + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ देर करें:
जेफ़

@Jeff दुर्भाग्य से, यह किसी भी इनपुट को तोड़ता है जो 25 से अधिक है क्योंकि बाइट ओवरफ्लो हो जाएगा, 0. पर रीसेट करना। ओवरफ्लो 0एस से मेल खाता है [<], जो पूरी प्रक्रिया को असीम रूप से लूप करता है।
स्टीवन एच।

ठीक है, लेकिन बाइट्स बह निकला आपके कोड के साथ गलत आउटपुट में वैसे भी, न?
जेफ

1
@ जेफ वे सही आउटपुट हैं, वे सिर्फ 255 एमएम में काम कर रहे हैं।
स्टीवन एच।

2

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

function f(a){for(i=0;i<11;i++)alert(i*a)}

मैं जेएस को बहुत अच्छी तरह से नहीं जानता, क्या आप वेतन वृद्धि को परीक्षा के हिस्से में ले जा सकते हैं?
जोनाथन एलन

मैंने इसे संपादित किया। अब ठिक है।
रिज़ज

यह अब अलर्ट () के साथ अलर्ट करता है।
रिजज

यह मेरे लिए सतर्कता के बिना चेतावनी दे रहा था: यहाँ - मुझे लगता है कि वापस लेने के लिए, "रन" पर क्लिक करने की ज़रूरत नहीं है "पुनः प्रयास करें" फिर से लोड करने के लिए
जोनाथन एलन

1
@JonathanAllan क्या?
रिजज

2

MATLAB, 12 बाइट्स

@(x)x*[1:10]

वास्तव में यह बहुत ज्यादा नहीं है। एक अनाम फ़ंक्शन जो xइनपुट के रूप में लेता है और इसे वेक्टर द्वारा गुणा करता है [1:10]। के रूप में प्रदर्शित करता है ans = 2 4 6 ..। ऑक्टेव में भी काम करता है।

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


2

PowerShell v2 +, 23 बाइट्स

param($n)1..10|%{$_*$n}

कमांड-लाइन तर्क के माध्यम से इनपुट लेता है, सीमा 1से अधिक छोरों पर 10, प्रत्येक लूप *$nपाइपलाइन पर उस नंबर को रखता है । Write-Outputकार्यक्रम के निष्पादन के अंत में निहित के माध्यम से आउटपुट नईलाइन अलग मूल्यों में परिणाम।

PS C:\Tools\Scripts\golfing> .\multiplication-table.ps1 2
2
4
6
8
10
12
14
16
18
20

PS C:\Tools\Scripts\golfing> .\multiplication-table.ps1 20
20
40
60
80
100
120
140
160
180
200

2

C89, 44 बाइट्स

k;main(n){for(k=n*11;k-=n;)printf("%d ",k);}

Ungolfed:

k;
main(n)
{
    for (k=n*11 ; k-=n ;)
        printf("%d ", k);
}

संकलित करें और चलाएं (इनपुट 4)

gcc -ansi main.c && ./a.out 2 3 4

उत्पादन

40 36 32 28 24 20 16 12 8 4 

झसे आज़माओ

Demo



2

जावास्क्रिप्ट (ईएस 6), 34 31 बाइट्स

a=>{for(i=0;i<11;)alert(++i*a)}
(a)=>{for(i=0;i<11;++i)alert(i*a)}

सहेजे गए 3 बाइट्स ग्रिज़ली के लिए धन्यवाद।


बहुत कम से कम आपको चारों ओर कोष्ठक की आवश्यकता नहीं है a, लेकिन मुझे लगता है कि यह रचनात्मक होना भी संभव है ++
नील

2

क्यूबिक्स , 24 बाइट्स

;;..I1.N-?W.;;)W@/So..*O

क्यूबिक्स एक 2-आयामी, स्टैक-आधारित एसोलैंग है। क्यूबिक्स अन्य 2D लैंग्स से अलग है जिसमें स्रोत कोड एक क्यूब के बाहर चारों ओर लपेटा जाता है।

इसे ऑनलाइन टेस्ट करें! नोट: आपको कोड को कॉपी-पेस्ट करना होगा, और पुनरावृत्तियों के बीच 50 एमएस की देरी होगी।

व्याख्या

पहली बात यह है कि दुभाषिया सबसे छोटा घन का पता लगाता है जो कोड पर फिट होगा। इस स्थिति में, किनारे की लंबाई 1. है, फिर कोड को बिना ऑप्स के साथ गद्देदार किया जाता है .जब तक कि सभी छह पक्ष भरे नहीं जाते हैं। प्रसंस्करण से पहले व्हॉट्सएप हटा दिया जाता है, इसलिए यह कोड उपरोक्त के समान है:

    ; ;
    . .
I 1 . N - ? W .
; ; ) W @ / S o
    . .
    * O

नए स्टैक विकल्पों का उपयोग करते हुए यहां थोड़ा कम हैI.0.WrN;-!@vrW>r)*O;o
मिकी 23
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.