এর মধ্যে প্রতিকূলতার সাথে এমনকি সংখ্যার চক্রাকার ক্রম


13

নিম্নলিখিত ক্রমটি বিবেচনা করুন:

1, 0, 1, 2, 4, 1, 6, 8, 0, 1, 2, 4, 6, 8, 1, 0, 2, 4, 6, 8, 1, 0, 2, 4, 6, 8, 0, 1, ...

এমনকি অঙ্কগুলি 0 থেকে শুরু হয় এবং ক্রমবর্ধমান দৈর্ঘ্যের রানগুলিতে ভাগ করা হয়। এগুলি চক্রাকারে সাজানো হয়েছে যার অর্থ তারা 8- এ পৌঁছানো পর্যন্ত আরোহী ক্রমে সাজানো হয় এবং তারপরে 0 থেকে সাইকেল চালানো হয় । 1 এমনকি অঙ্কের রানগুলি পৃথক করে এবং এটি ক্রমও শুরু করে। আসুন কীভাবে এই ক্রমটি গঠিত হয় তা কল্পনা করুন:

                 1, 0, 1, 2, 4, 1, 6, 8, 0, 1, 2, 4, 6, 8, 1, 0, 2, 4, 6, 8, 1,  ...

                    -     ----     -------     ----------     -------------
run length:         1      2          3            4                5            ...
position of 1:   X     X        X           X              X                 X   ...
even sequence:      0,    2, 4,    6, 8, 0,    2, 4, 6, 8,    0, 2, 4, 6, 8      ...

গ্রহণযোগ্য ইনপুট এবং আউটপুট পদ্ধতি:

  • ইনপুট হিসাবে একটি পূর্ণসংখ্যা N পান এবং এই অনুক্রমের N ম পদটি আউটপুট দেয় ।

  • ইনপুট হিসাবে একটি পূর্ণসংখ্যা এন পান এবং এই অনুক্রমের প্রথম এন পদগুলিকে আউটপুট দেয় ।

  • ক্রমটি অনির্দিষ্টকালের জন্য মুদ্রণ করুন।

আপনি প্রথম দুটি পদ্ধতির জন্য 0 বা 1-ইনডেক্সিং চয়ন করতে পারেন।

স্ট্যান্ডার্ড ইনপুট এবং আউটপুট পদ্ধতি ব্যবহার করার সময় আপনি যে কোনও প্রোগ্রামিং ভাষায় প্রতিযোগিতা করতে পারেন । স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ। এটি , তাই প্রতিটি ভাষার সংক্ষিপ্ততম কোডটি জয়ী হয়।


এই চ্যালেঞ্জটি স্যান্ডবক্স করা হয়েছে ।
মিঃ এক্সকোডার

উত্তর:


8

হাস্কেল , 50 46 বাইট

1#cycle[0,2..8]
n#r=1:take n r++(n+1)#drop n r

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

1#cycle[0,2..8] ক্রমটি অসীম তালিকা হিসাবে প্রদান করে।

আরজান জোহানসেনকে -4 বাইট ধন্যবাদ!


1
আপনি #কেবল একটি সংখ্যার প্রথম যুক্তি তৈরি করে চারটি বাইট সংরক্ষণ করতে পারেন । এটি অনলাইন চেষ্টা করুন!
janrjan জোহানসেন

7

জেলি , 10 বাইট

5ḶḤṁR€1pFḣ

অনুক্রমের প্রথম এন আইটেমগুলি প্রদান করে।

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

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

5ḶḤṁR€1pFḣ  Main libk. Argument: n

5           Set the return value to 5.
 Ḷ          Unlength; yield [0, 1, 2, 3, 4].
  Ḥ         Unhalve; yield [0, 2, 4, 6, 8].
    R€      Range each; yield [[1], [1, 2], [1, 2, 3], ..., [1, ..., n]].
   ṁ        Mold; in the result to the left, replace [1] with [0], [1, 2] with
            [2, 4], [1, 2, 3] with [6, 8, 0], and so forth.
      1p    Take the Cartesian product of [1] and the result.
        F   Flatten the result.
         ḣ  Head; take the first n items of the result.

2
?_ಠ Unhalve... ঠিক তাই না Double?
মিঃ এক্সকোডার

4
এটি কেবল একটি স্মৃতিবিজড়িত। Hহয় অর্ধেক , তাই হয় unhalveÆAহয় অ্যাকোসাইন , তাই ÆẠহয় unarccosine
ডেনিস

6

হুশ , 12 11 10 বাইট

ṁ:1CN¢mDŀ5

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

ক্রমটি অনির্দিষ্টকালের জন্য মুদ্রণ করে।

বিকল্পভাবে:

J1CΘN¢mDŀ5

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

ব্যাখ্যা

        ŀ5   Start from [0, 1, 2, 3, 4]
      mD     Double each value to get [0, 2, 4, 6, 8]
     ¢       Repeat this list indefinitely, [0, 2, 4, 6, 8, 0, 2, ...]
   CN        Cut it into chunks of increasing lengths, 
             [[0], [2, 4], [6, 8, 0], ...]
ṁ:1          Prepend 1 to each sublist and concate the resulting lists.

বিকল্প সমাধানের জন্য:

     ¢mDŀ5   Again, get [0, 2, 4, 6, 8, 0, 2, ...].
  CΘN        This time we prepend a zero to the natural numbers, which
             prepends an empty list to the resulting chunks.
J1           Join all the sublists with 1.

আমরা এটিও করতে পারতাম ...ΘCN..., কারণ Θ"ডিফল্ট উপাদানটিকে প্রিপেন্ড" করে, যা পূর্ণসংখ্যার তালিকার জন্য শূন্য এবং তালিকাগুলির তালিকাগুলির জন্য খালি তালিকার জন্য প্রস্তুত করে।




2

এপিএল, 25 বাইট

নবম পদটি প্রদান করে।

1,(⌽n↑⌽(+/⍳n←⎕)⍴0,2×⍳4),1

ব্যাখ্যা

n←⎕     Prompts for screen input of integer
+/⍳      Creates a vector of integers of 1 to n and sums
⍴0,2×⍳4  Creates a vector by replicating 0 2 4 6 8 to the length of sum
⌽n↑⌽   Rotates the vector, selects first n elements and rotates result
        (selects last n elements}    
1,...,1 Concatenates 1s in front and behind result

2

এপিএল (ডায়ালগ ইউনিকোড) , 52 59 56 বাইট

rc k
r←~n0
:For j :In k
n+←j-1
r,←1,⍨jn0,2×⍳4
:End
rkr

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

এই tradfn (হয় Trad itional unctio এন ) একটি আর্গুমেন্ট গ্রহণ kএবং প্রথম ফেরার kক্রম আইটেম।

ফাংশনটিতে একটি ত্রুটি নির্দেশ করার জন্য @ গ্যালেনিভানভকে ধন্যবাদ জানাই। 3 বাইটের জন্য অ্যাডমকে ধন্যবাদ

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

rc k              The function c takes the argument k and results in r
r n1 0            Initializing the variables r and n, and setting them to 1 and 0, respectively.
:For j :In k      For loop. k yields [1, 2, 3, ..., k], and j is the control variable.
n+←j-1             Accumulates j-1 into n, so it follows the progression (0, 1, 3, 6, 10, 15...)
r,←1,⍨jn0,2×⍳4   This line is explained below.
:End               Ends the loop
rkr              return the first k items of r.
                    actually reshapes the vector r to the shape of k;
                   since k is a scalar,  reshapes r to a vector with k items.
            2×⍳4   APL is 1-indexed by default, so this yields the vector 2 4 6 8
          0,       Prepend a 0 to it. We now have 0 2 4 6 8
        n         Rotate the vector n times to the left.
      j           Reshape it to have j items, which cycles the vector.
   1,⍨             Append a 1, then
r,←                Append everything to r.

নীচে একটি হয় Dfn( irect unctio এন ) এবং একটি মৌন ফাংশন যে চ্যালেঞ্জ, উভয় কল্যাণকামী @ আদম কর্তৃক প্রদত্ত সমাধানের জন্য।


আমি স্বচ্ছ ভ্যাসেরিয়নের ব্যাখ্যায় আগ্রহী। ধন্যবাদ!
গ্যালেন ইভানভ

@ গ্যালেন ইভানোভ আমি আজকে পরে যুক্ত করব।
জে.সাল্লী

আমি লক্ষ্য করেছি যে 3 টি ফাংশনটি ভুল উত্তর দেয় - পরবর্তীগুলি সর্বদা 1 এর পরে 0 থেকে শুরু হয় - তাদের পূর্ববর্তী উত্তরটির শেষ এমনকি অঙ্ক থেকে চালিয়ে যাওয়া উচিত।
গ্যালেন ইভানভ

@ গ্যালেন ইভানোভ ঠিক বলেছেন আমি আজই এটি সংশোধন করে ব্যাখ্যা যুক্ত করতে পারি কিনা তা আমি দেখতে পাচ্ছি।
জে.সাল্ল

1

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

রিটার্নস এন ক্রম তম শব্দ, 0-ইন্ডেক্স।

n=>(g=e=>n--?g(e+=k++<l?2:k=!++l):k<l?e%10:1)(k=l=0)

ডেমো


1

সি (জিসিসি), 84 বাইট

i;j;f(){for(i=1;;i++){printf("%d ",1);for(j=0;j<i;)printf("%d ",(2*j+++i*i-i)%10);}}

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

একটি ফাংশন ( f()) যা স্পেসটি পৃথক করে পৃথকভাবে মুদ্রণটি মুদ্রণ করে।

i বর্তমান সম-রান দৈর্ঘ্য হয়।

j বর্তমান সম-রান সূচক হয়

(2*j+++i*i-i)%10 i এবং j (এবং ইনক্রিমেন্ট জে) প্রদত্ত, সমান সংখ্যাটি দেয় ((j + Tr (i))% 5) * 2 এর সমান, যেখানে ট্র (এক্স) দশম ত্রিভুজাকার সংখ্যা (যা এমনকি সংখ্যার সংখ্যা বর্তমান এমনকি চালানো আগে মুদ্রিত হয়েছে যে সংখ্যা;



1

জাভা 8, 96 বাইট

v->{for(int i=0,j=-2,k;;i++,System.out.println(1))for(k=0;k++<i;System.out.println(j%=10))j+=2;}

অনির্দিষ্টকালের জন্য মুদ্রণ করে, প্রতিটি সংখ্যা একটি নতুন লাইনে।

ব্যাখ্যা:

এখানে চেষ্টা করুন।

v->{                               // Method with empty unused parameter and no return-type
  for(int i=0,                     //  Index integer, starting at 1
          j=-2,                    //  Even index integer, starting at -2
          k;                       //  Inner index integer
      ;                            //  Loop (1) indefinitely
                                   //    After every iteration:
       i++,                        //     Increase index `i` by 1
       System.out.println(1))      //     And print a 1
    for(k=0;                       //   Reset index `k` to 0
        k++<i;                     //   Inner loop (2) from 0 to `i`
                                   //     After every iteration:
       System.out.println(j%=10))  //      Set `j` to `j` modulo-10, and print it
      j+=2;                        //    Increase `j` by 2
                                   //   End of inner loop (2) (implicit / single-line body)
                                   //  End of loop (1) (implicit / single-line body)
}                                  // End of method

1

ব্যাচ, 85 বাইট

@set/an=%2+1,t=n*-~n/2
@if %t% lss %1 %0 %1 %n%
@cmd/cset/a(%1-n)%%5*2*!!(t-=%1)+!t

ক্রমের নবম পদটি আউটপুট করে। পরবর্তী ত্রিভুজাকার সংখ্যা গণনা করে কাজ করে।



1

জে , 46 42 40 বাইট

-6 বাইট কোল ধন্যবাদ

{.({.[:;[:#:&.>2^i.);@(1,&.><;.1)10|2*i.

এই অনুক্রমের প্রথম এন পদগুলি আউটপুট করে।

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

10|[:+:i. - 0 2 4 6 8 0 2 4 দৈর্ঘ্যের N এর একটি তালিকা তৈরি করে ... 0 থেকে শুরু হওয়া পূর্ণসংখ্যার তালিকার দ্বিগুণ আইটেমগুলির মধ্যে এটি কেবল 10 ম मोड নেয়।

[:;[:#:&.>2^i. - উপরের তালিকাটি কাটাতে কিছুটা মাস্ক তৈরি করে।

(1 অর্থ শুরু): 1 1 0 1 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 ... এটি ধারাবাহিক অ-নেতিবাচক পূর্ণসংখ্যার 2 পাওয়ার সন্ধান করে, তাদের বাইনারি হিসাবে রূপান্তরিত করে, সমতল করে তালিকা তৈরি করে এবং কেবলমাত্র প্রথম এন আইটেম নেয়, যাতে উভয় তালিকার দৈর্ঘ্য সমান হয়।

;@(1,&.><;.1) - জোড় অঙ্কগুলির তালিকা বিভাজন (কাট) তালিকা এবং শূন্যের মানচিত্রে সাবলিস্টের সাথে মিল রেখে, সাবলিস্টটিকে 1-এ যুক্ত করে এবং পরিশেষে ফলাফলটি সমতল করে

]{. - যুক্ত হওয়া 1 টি কারণে তালিকার অতিরিক্ত সংখ্যা থেকে মুক্তি পেয়ে শুধুমাত্র প্রথম এন আইটেম নেয়।

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


1
42 বাইট: {.({.[:;[:#:&.>2^i.);@(1,&.><;.1)(10|2*i.)। আমি যে পরিবর্তনগুলি করেছি তা হুকস ব্যবহার এবং কাঁটাচামচ কীভাবে কাজ করে তার সুবিধা গ্রহণ করার জন্য কাঁটাটার ডান টাইনটি ব্যবহার করা। আমি 2^i.কৌশলটি পছন্দ করি । আমি এখন কাঁটাচামচের বাম দিকে কাজ করার চেষ্টা করছি।
কোল

@ কোল ধন্যবাদ, আমার কাঁটাচামচ আরও ভাল ব্যবহার করা শিখতে হবে। স্পষ্টতই কাঁটাচামচ 2 * i। ক্যাপড হুকের চেয়ে ভাল তবে [: +: i।
গ্যালেন ইভানভ

1
আপনি ডান টাইন (10|2*i.)->10|2*i.
কোলে




0

প্রোটন , 55 বাইট

i=0 j=-2while1{for k:0..i print(j=(j+2)%10)print(1)i++}

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

ক্রমটি অনির্দিষ্টকালের জন্য মুদ্রণ করে


That_ಠ এটি কী, নতুন সিনট্যাক্স? : পি i=0 j=-2while1{...
মিঃ এক্সকোডার

@ মিঃ এক্সকোডার: পি -2whileঠিক পাইথনের মতো এবং while1কারণ আমি শনাক্তকারী তৈরি করেছিলাম মূল সংখ্যার পরে কীওয়ার্ড হতে
পারিনি




0

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

1 সূচিত:

f=(x,t=0,p=0)=>p<x?f(x-1,t+1,p+t):x-p?x%5*2:1

0 সূচকযুক্ত:

g=(x,p=0)=>p<x?g(x-1,p?++t+p:t=1):x-p?x%5*2:1



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