আরোহী পূর্ণসংখ্যার পিরামিড


18

হয় নীচের পাঠ্যটি আউটপুট, বা পূর্ণসংখ্যার তালিকার একটি তালিকা (নীচে আরও বিশদ)।

 0
10  1
20 11  2
30 21 12  3
40 31 22 13  4
50 41 32 23 14  5
60 51 42 33 24 15  6
70 61 52 43 34 25 16  7
80 71 62 53 44 35 26 17  8
90 81 72 63 54 45 36 27 18  9
91 82 73 64 55 46 37 28 19
92 83 74 65 56 47 38 29
93 84 75 66 57 48 39
94 85 76 67 58 49
95 86 77 68 59
96 87 78 69
97 88 79
98 89
99

বিধি

  • আপনি ইচ্ছা, আপনি may "এক সূচক" এবং প্রতিটি প্রতিস্থাপন তাহলে nসঙ্গে n+1। এক্ষেত্রে আউটপুটটিতে 1 থেকে 100 সংখ্যা অন্তর্ভুক্ত থাকবে।

আউটপুট যদি পাঠ্য হয়

  • প্রদত্ত পাঠ্যের প্রতিটি কলামে একক অঙ্কগুলি ডানদিকে যুক্ত থাকে, তবে আপনি বামে প্রান্তিককরণ করতে চান তা ঠিক আছে। অতিরিক্তভাবে, কলামগুলির মধ্যে প্রান্তিককরণের প্রয়োজন হয় না।
  • শীর্ষস্থানীয় / পিছনের সাদা স্থানের অনুমতি রয়েছে ace প্রতিটি লাইনে ট্রেলিং স্পেসও অনুমোদিত।
  • লাইনের তালিকা ফিরিয়ে দেওয়া গ্রহণযোগ্য।

যদি আউটপুট সংখ্যা হয়

  • আউটপুটটি পূর্ণসংখ্যার (বা 2 ডি অ্যারে) তালিকার একটি তালিকা হতে পারে: [[1], [11, 2], [21...
  • ভাসা ভাল আছে।
  • যদি ব্যবহার করা ভাষায় অরক্ষ্যাকারীয় অ্যারে রাখা সম্ভব না হয় তবে অ্যারেতে থাকা উপাদানগুলি যে ত্রিভুজের মধ্যে নেই সেগুলি কোনও মান নিতে পারে এবং তা উপেক্ষা করা হবে।

আপনি যদি অন্য ফর্ম্যাটটি পছন্দ করেন তবে নির্দ্বিধায় জিজ্ঞাসা করুন।

সংক্ষিপ্ততম কোড জিতেছে।



যেহেতু পাঠ্য আউটপুটে শীর্ষস্থানীয় / পিছনের শ্বেত-স্থানের অনুমতি রয়েছে, তাই তালিকার আউটপুটে খালি তালিকাগুলি অগ্রণী / অনুসরণ করছে?
জোনাথন অ্যালান


আমি এটিকে সম্পাদনা করতে পারছি না, তবে এতে কোলমোগোরভ জটিলতা ট্যাগ থাকা উচিত (নিশ্চিত নয় যে আমি এটি ঠিক বানান ...)
ব্রায়ান এইচ।

@BrianH। অন্যদের মতে, যেহেতু সত্যই একক ধ্রুবক তৈরি করা হয়নি, তাই কেসি ট্যাগটি এখানে প্রয়োগ হয় না
ডাইলানান

উত্তর:


10

জেলি ,  13 12 10  6 বাইট

-4 ডেনিসকে ধন্যবাদ, হ্যাঁ চার! (গ্রুপ সূচক এবং কার্তেসিয়ান পণ্য ব্যবহার)

⁵pḅ1ĠU

আউটপুট জন্য 1 ইনডেক্সিং এবং তালিকার বিকল্প ব্যবহার করে।

এটি অনলাইন চেষ্টা করুন! (ফুটার পাইথনের উপস্থাপনায় আউটপুট ফর্ম্যাট করে)
... বা 0-সূচীযুক্ত, বিন্যাসিত সংস্করণ দেখুন

কিভাবে?

⁵pḅ1ĠU - Main link: no arguments
⁵      - literal 10
 p     - Cartesian product (with the leading constant of 10 and implicit ranges)
       -       = [[1,1],[1,2],[1,3],...,[10,8],[10,9],[10,10]]
  ḅ1   - to base one (proxy for sum each without the monad)
       -       = [2,3,4,5,6,7,8,9,10,11,3,4,5,6,7,8,9,10,11,12,4,...,18,19,20]
    Ġ  - group indices by value
       -       = [[1],[2,11],[3,12,21],...,[90,99],[100]]
     U - upend = [[1],[11,2],[21,12,3],...,[99,90],[100]] 

1
খুশী হলাম। আমার 7 বাইট
ডাইলানান

Ġএমনকি পৃথিবীতে কী করে ?!
ম্যাজিক অক্টোপাস উরন

1
@ ম্যাজিক অ্যাক্টোপাস ইউরান এটির সাথে সম্পর্কিত মান অনুসারে একটি অ্যারের সূচকগুলিকে দলবদ্ধ করে। তাই [5,7,5,9]Ġফিরে আসত [[1,3],[2],[4]]। এর কারণ হল সূচকের হয় [1,3]মান মিলা 5মূল অ্যারের মধ্যে, [2]থেকে 7এবং [4]থেকে 9
dylnan


4

কাঠকয়লা , 29 20 বাইট

E¹⁹⪫I⮌Φ¹⁰⁰⁼ι⁺÷λχ﹪λχ 

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। দ্রষ্টব্য: পিছনে স্থান ব্যাখ্যা:

 ¹⁹                     Literal 19
E                       Map over implicit range
       ¹⁰⁰              Literal 100
      Φ                 Filter over implicit range
              λ  λ      Inner index
               χ  χ     Predefined variable 10
                ﹪       Modulo
             ÷          Integer divide
            ⁺           Sum
           ι            Outer index
          ⁼             Equals
     ⮌                  Reverse
    I                   Cast to string
   ⪫                    Join with spaces
                        Implicitly print each string on its own line

4

জাভাস্ক্রিপ্ট (ES6), 61 বাইট

0-ভিত্তিক। একটি স্ট্রিং প্রদান করে।

f=(k=n=0)=>k>98?k:k+((k-=9)%10>0?' '+f(k):`
`+f(n+=n>89||10))

এটি অনলাইন চেষ্টা করুন!

কিভাবে?

আমরা k = n = 0 দিয়ে শুরু করি এবং কে = 99 এ থামি । আমরা প্রতিটি পুনরাবৃত্তিতে k থেকে 9 বিয়োগ করি ।

সারিগুলির শেষে সনাক্ত করা হয় k % 10 <= 0। এই শর্তটি পূরণ হয় যদি:

  • কে নেগেটিভ (পিরামিডের উপরের অংশ) কারণ জেএস-এ মডুলোর সাইনটি লভ্যাংশের।

     0 (-9)
    10  1 (-8)
    20 11  2 (-7)
    
  • বা কে% 10 == 0 (পিরামিডের নীচের অংশ)

    90 81 72 63 54 45 36 27 18  9 (0)
    91 82 73 64 55 46 37 28 19 (10)
    92 83 74 65 56 47 38 29 (20)
    

পরবর্তী সারির শুরুতে, আমরা 1 বা 10 থেকে n যুক্ত করে সেখান থেকে পুনরায় চালু করব।



3

জে , 14 বাইট

,.<@|./.i.,~10

এটি অনলাইন চেষ্টা করুন!

বিঃদ্রঃ:

এই সমাধানটি বাক্সযুক্ত আউটপুট ব্যবহার করে - এটি অনুমোদিত কিনা তা আমি নিশ্চিত নই (আশা করি এটি এটি, কারণ পূর্ণসংখ্যার তালিকাগুলিরও অনুমতি রয়েছে)

বিকল্প:

জে , 10 বাইট

|./.i.,~10

এই সমাধানে ত্রিভুজাকার ক্ষেত্রের বাইরের সংখ্যাগুলি প্রদর্শিত হয় 0

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা:

i.,~10,~10সংক্ষেপে 0..99 এর একটি ম্যাট্রিক্স 10x10 তৈরি করে10 10

   i.,~10
 0  1  2  3  4  5  6  7  8  9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99

/. ম্যাট্রিক্সের তির্যক ত্রিভুজ (অ্যান্টিডায়াগনগুলি) সন্ধান করে

   ]/.i.,~10
 0  0  0  0  0  0  0  0  0  0
 1 10  0  0  0  0  0  0  0  0
 2 11 20  0  0  0  0  0  0  0
 3 12 21 30  0  0  0  0  0  0
 4 13 22 31 40  0  0  0  0  0
 5 14 23 32 41 50  0  0  0  0
 6 15 24 33 42 51 60  0  0  0
 7 16 25 34 43 52 61 70  0  0
 8 17 26 35 44 53 62 71 80  0
 9 18 27 36 45 54 63 72 81 90
19 28 37 46 55 64 73 82 91  0
29 38 47 56 65 74 83 92  0  0
39 48 57 66 75 84 93  0  0  0
49 58 67 76 85 94  0  0  0  0
59 68 77 86 95  0  0  0  0  0
69 78 87 96  0  0  0  0  0  0
79 88 97  0  0  0  0  0  0  0
89 98  0  0  0  0  0  0  0  0
99  0  0  0  0  0  0  0  0  0

S ]সহ সমস্ত লাইন (একই) প্যাড ব্যবহার করে 0। প্রতিটি লাইন বিপরীত হয়। শূন্যগুলি থেকে মুক্তি পাওয়ার জন্য আমি লাইনগুলি <বিপরীত হওয়ার পরে বাক্স করি|.

   <@|./.i.,~10
┌─┬────┬───────┬──────────┬─────────────┬────────────────┬
│0│10 1│20 11 2│30 21 12 3│40 31 22 13 4│50 41 32 23 14 5│. . .
└─┴────┴───────┴──────────┴─────────────┴────────────────┴

বক্সিং তালিকাগুলি সমতল করতে তালিকা তৈরি করে। আমি শেষ পর্যন্ত ,.তালিকাটি ছড়িয়ে দিয়েছি যাতে একটি কলামে লাইনগুলি অর্ডার করা হয়।

  ,.<@|./.i.,~10
┌────────────────────────────┐
│0                           │
├────────────────────────────┤
│10 1                        │
├────────────────────────────┤
│20 11 2                     │
├────────────────────────────┤
│30 21 12 3                  │
├────────────────────────────┤
│40 31 22 13 4               │
├────────────────────────────┤
│50 41 32 23 14 5            │
├────────────────────────────┤
│60 51 42 33 24 15 6         │
├────────────────────────────┤
│70 61 52 43 34 25 16 7      │
├────────────────────────────┤
│80 71 62 53 44 35 26 17 8   │
├────────────────────────────┤
│90 81 72 63 54 45 36 27 18 9│
├────────────────────────────┤
│91 82 73 64 55 46 37 28 19  │
├────────────────────────────┤
│92 83 74 65 56 47 38 29     │
├────────────────────────────┤
│93 84 75 66 57 48 39        │
├────────────────────────────┤
│94 85 76 67 58 49           │
├────────────────────────────┤
│95 86 77 68 59              │
├────────────────────────────┤
│96 87 78 69                 │
├────────────────────────────┤
│97 88 79                    │
├────────────────────────────┤
│98 89                       │
├────────────────────────────┤
│99                          │
└────────────────────────────┘



2

গোল> <> , 24 বাইট

0D9FlF{a+|lD|9F~lF{P|D|;

এটি অনলাইন চেষ্টা করুন!

আউটপুটটি দেখতে এটির মতো দেখাচ্ছে:

[0]
[10 1]
[20 11 2]
[30 21 12 3]
[40 31 22 13 4]
[50 41 32 23 14 5]
[60 51 42 33 24 15 6]
[70 61 52 43 34 25 16 7]
[80 71 62 53 44 35 26 17 8]
[90 81 72 63 54 45 36 27 18 9]
[91 82 73 64 55 46 37 28 19]
[92 83 74 65 56 47 38 29]
[93 84 75 66 57 48 39]
[94 85 76 67 58 49]
[95 86 77 68 59]
[96 87 78 69]
[97 88 79]
[98 89]
[99]

কিভাবে এটা কাজ করে

0D9FlF{a+|lD|9F~lF{P|D|;

0D                       Push 0 and print stack
  9F        |            Repeat 9 times...
    lF{a+|                 Add 10 to all numbers on the stack
          l                Push stack length (the last one-digit number)
           D               Print stack
             9F       |  Repeat 9 times...
               ~           Discard the top
                lF{P|      Increment all numbers on the stack
                     D     Print stack
                       ; Halt

2

আর , 50 48 বাইট

split(y<-rev(order(x<-outer(0:9,0:9,"+"))),x[y])

এটি অনলাইন চেষ্টা করুন!

1-ইন্ডেক্স। জোনাথন অ্যালান এর জেলি উত্তর মত একই যুক্তি অনুসরণ করে , তাই তাকে upvote নিশ্চিত করুন।

বোনাস হিসাবে, এখানে স্ট্যান্ডার্ড লুপিং পদ্ধতির (0-ইনডেক্সড) প্রয়োগও রয়েছে implementation এখানে, আমি কমপক্ষে আউটপুটটি সুন্দর করার চেষ্টা করেছি (সুতরাং, কনসোলে বিরক্তিকর গুলি থেকে মুক্তি পাওয়ার printপরিবর্তে বাইটগুলিও সংরক্ষণ করি নি ।cat(...,"\n")[1]

আর , 66 59 বাইট

for(i in c(0:8*10,90:99))cat(seq(i,i/10+i%%10*10-1,-9),"
")

এটি অনলাইন চেষ্টা করুন!

সম্পাদনা: -2 এবং -7 উভয়ই জিউসেপিকে ধন্যবাদ।


1
আমি দ্বিতীয় এক থেকে 59 বাইট এবং প্রথম থেকে 48 বাইট
জিউসেপ্পি

আহ, হ্যাঁ, ধন্যবাদ
কিরিল এল।

@ ক্যারিলএল. এটি বহিরঙ্গন ব্যবহারের জন্য সর্বদা সত্যই মার্জিত। প্লাস এই ক্ষেত্রে এটি খাটো!
জাইসি

2

আর , 137 86 73 69 বাইট

for(u in 0:18)cat("if"(u>9,seq(81+u,10*u-81,-9),seq(10*u,u,-9)),"\n")

এটি অনলাইন চেষ্টা করুন!

পূর্ববর্তী golfed সংস্করণ,% থেকে 100 ক্রেডিট : Giuseppe

S=sapply
c(S(1:10,function(u)1:u-1+10*(u-1:u)),S(9:1,function(y)1:y+9-y+10*(y:1+9-y)))

এটি অনলাইন চেষ্টা করুন!

কোডগল্ফে আমার প্রথম প্রয়াসের নীচে এটি কেবল রেকর্ডের জন্য রেখে।

x<-c(1:10)
z<- c(9:1)
c(sapply(x,function(u) seq_len(u)-1+10*(u-seq_len(u))),sapply(z,function(y) seq_len(y)+9-y+10*rev(seq_len(y)+9-y)))

এটি অনলাইন চেষ্টা করুন!


1
চমৎকার উত্তর! যেমনটি আপনি বলেছেন, আপনি বেশ কয়েকটি বাইট অপসারণ করতে পারেন; কিছু অপ্রয়োজনীয় সাদা-জায়গা সরিয়ে, এবং বেশিরভাগ জায়গায় প্রতিস্থাপন করে আমি একটি 86 বাইট সমাধান সন্ধান করতে পেরেছি ; আমি পরিবর্তে ব্যবহার । seq_len1:y:1rev
জিউসেপে

@ জিউজ্পে উন্নত উত্তরের জন্য অনেক ধন্যবাদ - এটি দেখায় যে আমি কয়েক বছরে কোডিং করি নি।
জেইসি


1

05 এ বি 1 ই , 22 বাইট

TLûvTLD>T*«NèyGD9+})R,

এটি অনলাইন চেষ্টা করুন!


সুপার নিষ্পাপ পদ্ধতি: এটি অনলাইনে চেষ্টা করুন! এটি আরও ভাল সমাধান হতে পারে তবে আমি এ থেকে বি কীভাবে যাব তা বুঝতে পারি না


"বি এর মানের উপর ভিত্তি করে" সাজানো কি কমান্ড?
dylnan

0

পাওয়ারশেল , 77 বাইট

(0..90|?{!($_%10)})+91..99|%{"$(for($i=$_;$i-gt$_/10+$_%10*10-1;$i-=9){$i})"}

এটি অনলাইন চেষ্টা করুন!

একক-অঙ্কের বাম-প্রান্তিককরণের সাথে ASCII- আর্ট হিসাবে আউটপুটগুলি। ডিফল্টরূপে একটি অ্যারের স্ট্রিংফাইটিং উপাদানগুলির মধ্যে ফাঁকা স্থান সন্নিবিষ্ট করে Exp

স্পষ্টতই রডের পাইথন উত্তরের মতো, তবে এটি স্বাধীনভাবে বিকাশ লাভ করেছে।





0

লাল , 105, 95 91 বাইট

v: make vector! 0
loop 10[alter v + 10 length? v print v]loop 9[alter v last v print 1 + v]

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা:

v: make vector!   0                           ; start with a vector with one element: -10
loop 10[alter v + 10 length? v print v]       ; Ten times print the vector after adding 10
                                              ; to its elements and appending the length   
loop 9[alter v last v print 1 + v]            ; Nine times print the vector after adding 1 
                                              ; to its elements and removing the last one
                                              ; `alter` appends the item if it's not
                                              ; in the list, otherwise removes it

0

জাভাস্ক্রিপ্ট , 112 বাইট

এটি সর্বোত্তম নয়, তবে আমি একটি ভিন্ন পদ্ধতির চেষ্টা করতে চেয়েছিলাম।

[...Array(19)].map((x,y)=>y>9?81+y:y?y+'0':y).map(x=>(f=(n,a=[n])=>!n|a[n+='']|n[1]>8?a:f(n-=9,a.concat(n)))(x))

এটি অনলাইন চেষ্টা করুন!

পুরানো সমাধান:

[...Array(19)].map((x,y)=>y>9?y-9+'9':y).map((x,y)=>(f=(n,a=[n])=>a[n/10]|!n?a.reverse():a.push(n+=9)&&f(n,a))(x*1).slice(y-19))

এটি অনলাইন চেষ্টা করুন!



0

পার্ল 6 , 43 40 বাইট

{map {[R,] grep :k,$_,(^10 X+ ^10)},^19}

এটি অনলাইন চেষ্টা করুন!

-3 বাইট ব্র্যাড গিলবার্ট বি 2 গিলসকে ধন্যবাদ।


1
[R,] LISTএর চেয়ে সংক্ষিপ্তreverse LIST
ব্র্যাড গিলবার্ট বি

@ ব্র্যাডগিলবার্ট বিগিলস চমৎকার, ধন্যবাদ!
nwellnhof
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.