स्टैक्ड डिजिट सीढ़ियाँ


17

सकारात्मक पूर्णांक और आउटपुट कॉलम को देखते हुए और नीचे बताए अनुसार पाठ की पंक्तियों को ।whwh

पहली पंक्ति 11 0एस के साथ शुरू होती है , दूसरी पंक्ति 10 1एस के साथ, तीसरी नौ 2एस के साथ और दसवीं पंक्ति नीचे दो 9एस के साथ । इनमें से प्रत्येक पहले दस पंक्तियों पर, निरंतर अंकों के प्रारंभिक रन का अनुसरण करते हुए, अगला निम्नतम अंक दो बार दिखाई देता है इससे पहले कि दूसरा अगला न्यूनतम अंक दो बार प्रकट होता है, इस पैटर्न को हमेशा के लिए दोहराते हुए। यदि 0s का रन होता है, तो उसके बाद के अंक हमेशा 9s होते हैं ।

दसवीं पंक्ति के नीचे की पंक्तियाँ उसके ठीक ऊपर की पंक्ति के समान होती हैं लेकिन एक के बाद एक दाईं ओर स्थानांतरित होती हैं। जो नया अंक दिखाई देता है, वह पिछले सबसे बाएं अंक के समान होता है यदि वह स्वयं के किसी अन्य उदाहरण के बगल में न हो। अन्यथा यह अगला उच्चतम अंक है (9 से 0 से साइकिल)।

पहले तत्व इस प्रकार हैं:1 1×10

00000000000
11111111110
22222222211
33333333221
44444443322
55555544332
66666554433
77776655443
88877665544
99887766554

यहां पैटर्न को और अधिक स्पष्ट करने के लिए रंगीन पाठ के साथ एक छवि है।

निश्चित पाठ

यदि आपको कम कॉलम / पंक्तियों का उत्पादन करने की आवश्यकता है तो आपको बस उपरोक्त पाठ को क्रॉप करना चाहिए।

यदि आपको इससे अधिक कॉलम / पंक्तियाँ बनाने की आवश्यकता है, तो मौजूदा सीढ़ियों को बढ़ाया जाना चाहिए। यदि अधिक कॉलम / पंक्तियों में लगातार अंकों की नई सीढ़ियां जुड़ती हैं, तो पूर्णांक से अंकों को चक्रीय रूप से चुना जाना चाहिए। इस प्रकार इनपुट (15,13) लिए आउटपुट होना चाहिए

000000000009988
111111111100998
222222222110099
333333332211009
444444433221100
555555443322110
666665544332211
777766554433221
888776655443322
998877665544332
099887766554433
009988776655443
100998877665544

रंग के साथ इस पाठ की एक छवि इस प्रकार है:

विस्तारित पाठ

नियम

  • आउटपुट किसी भी सुविधाजनक विधि द्वारा दिया जा सकता है ।
  • या तो एक पूर्ण कार्यक्रम या एक समारोह स्वीकार्य हैं। यदि कोई फ़ंक्शन है, तो आप इसे प्रिंट करने के बजाय आउटपुट वापस कर सकते हैं।
  • आप चाहें तो लाइनों की एक सूची वापस कर सकते हैं।
  • यदि आप चाहें तो अंकों की सूची या अंकों की सूची का 2 डी सरणी वापस कर सकते हैं।
  • मानक खामियों को दूर किया।

सबसे छोटा कोड जीतता है।

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

(w,)

1,1
0

3,2 000 111

20,1 00000000000998877665

11,10 00000000000 11111111110 22222222211 33333333221 44444443322 55555544332 66666554433 77776655443 88877665544 99887766554

15,13 000000000009988 111111111100998 222222222110099 333333332211009 444444433221100 555555443322110 666665544332211 777766554433221 888776655443322 998877665544332 099887766554433 009988776655443 100998877665544


8
मैं वास्तव में पैटर्न को नहीं समझता। क्या आप उदाहरणों से इसे एक्स्ट्रापोलिटेड होने की अपेक्षा करने के बजाय पैटर्न को स्पष्ट रूप से समझा सकते हैं। कुछ लोगों को उदाहरण मददगार लगते हैं, लेकिन मैं वास्तव में यह नहीं देखता कि पैटर्न उदाहरणों से कैसे अनुसरण करता है।
पोस्ट रॉक गार्फ हंटर

@WW धन्यवाद, मैंने थोड़ा और अधिक स्पष्ट रूप से जोड़ा
डाइलन

1
1234

@qwr ओह अच्छा, पता नहीं था कि हम ऐसा कर सकते हैं। आपने इसके साथ क्या किया?
डायलाॅन

मेरा रंग {लाल} {टेक्स्ट} मेरा मानना ​​है
qwr

जवाबों:


7

पायथन 3, 94 93 78 77 74 बाइट्स

lambda x,y:[[[(j-i+10)//2%10,j][j+i<9]for i in range(x)]for j in range(y)]

डायलन से 1 बाइट

-15 बाइट्स xnor से मुद्रण के बजाय सूचियों की एक सूची वापस करके

-1 बाइट के क्रम (j-i+10)//2%10और jभागों को बदलकर if-else

एक सूची में - - बदलकर जो राजा से -3 बाइट्स ।ifelse

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


लैम्ब्डा फ़ंक्शन का उपयोग करने से बाइट
बचती है

@dylnan धन्यवाद!
pizzapants184

1
चुनौती अंकों की सूचियों के आउटपुट की अनुमति देती है, इसलिए ऐसा लगता है कि आपको कोई प्रिंटिंग या जॉइनिंग करने की आवश्यकता नहीं है।
xnor

7

सी (जीसीसी) , 101 100 99 बाइट्स

s,t;a(i,r){for(t=~0;++t<r;puts(""))for(s=0;s<i;putchar(48+(t+(s>10-t)*(10*s+9-(s+++t-11)/2))%10));}

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


-1 बाइट इसे ऑनलाइन आज़माएं! printf("%d",->putchar(48+
pizzapants184

@ pizzapants184 बहुत बहुत धन्यवाद।
जोनाथन फ्रेच

@ceilingcat दुर्भाग्य से नहीं
जोनाथन फ्रीच

2

कैनवस, 14 बाइट्स

[⁷{¹∔⁶+»¹m◂@]]

यहाँ यह कोशिश करो!

इसे बनाते समय मैंने कई स्थानों पर देखा कि मेरे पास कैनवस में नकारात्मक मोड्यूल हैं (यहां, इसका मतलब था कि »- फर्श डिव 2 - 0 से गोल)। पिछले 18 बाइट का जवाब जो बिना किसी फिक्स के काम करता है, अब और काम नहीं करता है (क्योंकि मैं केवल main.jsसंस्करणों के बीच बचा रहता हूं ) लेकिन TIO का अभी भी पुराना संस्करण है

स्पष्टीकरण:

[            ]  for 1..input
 ⁷{         ]     for 1..2nd input
   ¹∔               subtract from this loop counter the outer loops one
     ⁶+             add 12
       »            divide by 2, rounded to -∞
        ¹m          minimum of that & the outer loops counter
          ◂@        in the string "0123456789", get the xth char, 1-indexed

2

चारकोल , 20 17 बाइट्स

Eη⭆θ﹪⌊⟦ι÷⁺⁻ιλχ²⟧χ

इसे ऑनलाइन आज़माएं! लिंक कोड के वर्बोज़ संस्करण के लिए है। स्पष्टीकरण:

 η                  Height
E                   Map over implicit range
   θ                Width
  ⭆                 Map over implicit range and join
          ⁻ιλ       Subtract column from row
         ⁺   χ      Add 10
        ÷     ²     Integer divide by 2
       ι            Current row
     ⌊⟦        ⟧    Take the minimum
    ﹪           χ   Modulo by 10
                    Implicitly print each row on its own line

संपादित करें: @ dzaima के एल्गोरिथ्म पर स्विच करके 3 बाइट्स सहेजे गए।


2

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

_@þ:2+6«"J$’%⁵

w

इसे ऑनलाइन आज़माएं! या एक (पोस्ट-स्वरूपित) परीक्षण-सूट देखें

कैसे?

_@þ:2+6«"J$’%⁵ - Link: integer w, integer h
  þ            - outer product using (i.e. [[f(i,j) for i in 1..w] for j in 1..h]):
_@             -   subtraction with swapped arguments (i.e. f(i,j): j-i)
               -   e.g. the 4th row is [3, 2, 1, 0,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11,...]
   :2          - integer divide by two (vectorises)
               -                       [1, 1, 0, 0,-1,-1,-2,-2,-3,-3,-4,-4,-5,-5,-6,...]
     +6        - add six (vectorises)
               -                       [7, 7, 6, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 0,...]
          $    - last two links as a monad:
         J     -   range of length -> [1,2,3,...,h]
        "      -   zip with:
       «       -     minimum (vectorises)
               -                       [4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 1, 1, 0,...]
           ’   - decrement (vectorises)
               -                       [3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 0, 0,-1,...]
             ⁵ - literal ten
            %  - modulo (vectorises)
               -                       [3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 0, 0, 9,...]


2

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

पिज्जा और नील के समान दृष्टिकोण का उपयोग करता है । जोनाथन एलन को 1 बाइट धन्यवाद दिया ।

p’Ḣ_/HḞ+ʋS<9Ɗ?€5s%⁵

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


सहायक लिंक

_/HḞ+5

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

_/

घटाव द्वारा कम करें।

HḞ+5%⁵

इसके हलवे को एक पूर्णांक तक फर्श करें और 5 जोड़ें, फिर इसे 10 modulo लें।

मुख्य कड़ी

p’ḢÇS<9Ɗ?€s

çएक्सy

p’

1([0,एक्स)जेड)×([0,y)जेड)

S<9Ɗ?€

और कार्टेशियन उत्पाद में प्रत्येक जोड़ी के लिए, यदि उनकी राशि 9 से कम है, तो:

जोड़ी (पहला तत्व) के सिर को पुनः प्राप्त करें। अन्यथा,

Ç

जोड़ी पर सहायक लिंक (ऊपर समझाया गया) को कॉल करें।

s%⁵

y


आप मॉड 10 को अंत तक ले जा सकते हैं और फिर एक बाइट को बचाने के लिए हेल्पर को लाइन में रख सकते हैं - या तो एक डाईएड के साथ p’Ḣ_/HḞ+ʋS<9Ɗ?€5s%⁵या एक सनक के p’Ḣ_/:2+ʋS<9Ɗ?€5s%⁵रूप मेंp’Ḣ_/:2+5ƲS<9Ɗ?€s%⁵
जोनाथन एलन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.