এক্সপেনশনেশন সিকোয়েন্স


13

বোচনিয়াতে অবস্থিত প্রাচীনতম পোলিশ লবণের খনিটি 1248 সালে শুরু হয়েছিল, যা আমরা একটি যাদুকরী সংখ্যা বিবেচনা করতে পারি । আমরা দেখতে পারি যে এটি exponentiations ক্রম থেকে 4 সংখ্যা সমান আছে: 2 ^ 0, 2 ^ 1, 2 ^ 2, 2 ^ 3

যেহেতু তারিখটি ক্রমটি থেকে 4 সংখ্যার, আমরা এটি আরও দীর্ঘ করতে পারি। আমরা অসীমতায় পৌঁছা পর্যন্ত আমরা প্রক্রিয়াটির পুনরাবৃত্তি করতে পারতাম। ক্রমটি দেখতে এটির মতো লাগবে, যদি আমরা এটি সংখ্যায় সীমাবদ্ধ করি2048

124816326412825651210242048

এটিকে কিছুটা আরও ভাল দেখতে, আমরা সংখ্যাগুলি পৃথক করতে পারি:

1|2|4|8|16|32|64|128|256|512|1024|2048

আসুন তারিখের চেয়ে একটি কাস্টম দীর্ঘতর ক্রম চেষ্টা করুন। ধরা যাক, আমরা এটির পাঁচটি সংখ্যা চাই - একাধিক সম্ভাবনা রয়েছে:

  • 24816
  • 81632
  • 64128

বা 3 ডিজিটযুক্ত:

  • 124
  • 248
  • 816

আমরা এটিতে 3 সংখ্যার সংখ্যাও যুক্ত করতে পারি, তবে বলি, একটি ক্রমের অন্তত দুটি সংখ্যা থাকতে হবে

* ইংরেজি উইকিপিডিয়ায় এটি সম্পর্কে কোনও তথ্য নেই। আপনি যদি পোলিশ সংস্করণটি প্রবেশ করেন - তবে রয়েছে। আপনি যদি খনিটি পরিদর্শন করেন, শ্রমিকরা আপনাকেও বলবে যে এটি 1248 সালে শুরু হয়েছিল।

চ্যালেঞ্জ

উপরের উদাহরণগুলির মতো বেস হিসাবে 2 হিসাবে এক্সপেনসেন্টেশন ক্রম তৈরি করুন।

2-27 রেঞ্জের একটি সংখ্যার দেওয়া, সিকোয়েন্সের সমস্ত সম্ভাব্য অংশগুলি আউটপুট দিন (যদি আপনি চান তবে 2048 এক বা তার চেয়ে বড়) ইনপুটটির সমান অঙ্কের পরিমাণ সহ। আপনি একটি সংখ্যা কাটতে পারবেন না, সুতরাং আউটপুটটি 481অবৈধ, কারণ 16 টি অর্ধেক কাটা হয়।

নিয়মাবলী:

  • স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।
  • আপনি ধরে নিতে পারেন ইনপুটটি ব্যাপ্তির মধ্যে একটি নম্বর।
  • আপনার প্রোগ্রামটি পরিসীমা (28+) এর চেয়ে বড় ইনপুট গ্রহণ করতে পারে তবে স্কোর বৃদ্ধি / হ্রাস হবে না।
  • আউটপুট স্পেস উপেক্ষা করা হয়। আপনি আউটপুট পছন্দ 124বা পছন্দ করতে পারেন 4 8 16
  • তালিকা থেকে যে কোনও চরিত্রের দ্বারা বিভিন্ন সম্ভাবনা আলাদা করা উচিত: ,./|বা একটি লাইন ফিড।
  • আপনি অ্যারে হিসাবে আউটপুট করতে পারেন।
  • প্রতিটি সম্ভাবনার অন্তত 2 টি আলাদা সংখ্যা অন্তর্ভুক্ত করা উচিত ।
  • আপনি আউটপুট আবশ্যক একটি অংশ ক্রম, আপনি সংখ্যা পরের একে অপরকে না, মত মিশ্রিত করা পারে না: 14
  • হার্ডকোডযুক্ত আউটপুট অনুমোদিত নয়, তবে আপনি সম্পূর্ণ ক্রমযুক্ত স্ট্রিং / সংখ্যা / অ্যারে হার্ডকোড করতে পারেন।
  • ইনপুট 27 এর পূর্ণ 2048 ক্রমটি ফিরিয়ে দেওয়া উচিত।
  • আগেই উল্লিখিত হিসাবে, সংখ্যা কাটা না । যাত্রা। 16অবশ্যই থাকতে হবে 16- আপনি ব্যবহার করতে পারবেন না 481- আপনাকে অবশ্যই ব্যবহার করতে হবে 4816
  • সম্পাদনা: আমি হয়ত এখানে কিছু ভুল বলেছি; 2048 হ'ল শেষ সংখ্যাটি যা আপনার প্রোগ্রামটিকে সমর্থন করা উচিত, আপনি বৃহত্তর অন্তর্গতের জন্য সমর্থন যুক্ত করতে পারেন।

পরীক্ষার মামলা

ইনপুট: 2

12, 24, 48

ইনপুট: 3

124, 248, 816

ইনপুট: 4

1248, 4816, 1632, 3264

ইনপুট: 5

24816, 81632, 64128

ইনপুট: 27

124816326412825651210242048

এবং পরে সংখ্যাগুলি ...

আমি যদি পরীক্ষার কোনও ক্ষেত্রে ভুল করে থাকি তবে আমাকে বলুন বা প্রশ্নটি সম্পাদনা করুন।


এটি , তাই বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী!


1
সুতরাং এই মাত্র 2 হিসাবে বেস হিসাবে, সঠিক? আপনি কি প্রশ্নে তা পরিষ্কার করতে পারবেন? আমি এটি "ক্ষতির ক্রম" দ্বারা নিহিত কিনা তা নিশ্চিত নই, তবে তা হলেও আমি নিশ্চিত যে আমার মতো সেখানেও এমন লোক আছেন যারা জানেন না।
কোলে

@ কোল প্রকৃতপক্ষে, হ্যাঁ, এটি কেবল 2 দিয়েই রয়েছে উল্লেখ করার জন্য ধন্যবাদ!
রেডক্লুভার

1
আউটপুট কি নিউলাইন দ্বারা পৃথক করা যায়?
এইচপিউইজ

1
কোন চিন্তা করো না; যেমন আমি বলেছিলাম, আমি এটি চাপছি। কিছু চ্যালেঞ্জ লেখক আউটপুট ফর্ম্যাটে অবিশ্বাস্যরূপে নমনীয় হতে পারে তাই বাইট বা 2 এর জন্য এটি জিজ্ঞাসা করার মতো মূল্য;) (দ্রষ্টব্য: এটি কোনও পরামর্শ হিসাবে ব্যাখ্যা করা উচিত নয়!)
শেগি

1
ভূমিকাটিতে, আপনার পোলিশকে মূলধন করা উচিত। "পোলিশ" একটি আলাদা ইংরেজি শব্দ
পিটার কর্ডস

উত্তর:


7

05 এ বি 1 , 12 11 10 বাইট

ক্রম পর্যন্ত সমর্থন করে 2^95 = 39614081257132168796771975168

₃ÝoŒʒg≠}Jù

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

ব্যাখ্যা

₃Ý            # push range [0 ... 95]
  o           # raise 2 to the power of each
   Œ          # get a list of all sublists
    ʒ         # filter, keep elements that satisfy:
     g        # length
      ≠       # false (not equal to 1)
       }      # end filter
        J     # join each
         ù    # keep numbers of length matching the input

সংরক্ষণ 1 বাইট ধন্যবাদ এরিক Outgolfer
এ সংরক্ষিত 1 বাইট ধন্যবাদ রিলে


X›হতে পারে
এরিক দি আউটগল্ফার

@ এরিকথ আউটগল্ফার: ওহ হ্যাঁ আমি সবসময় ভুলে যে এখন একটি বিদ্যমান। ধন্যবাদ :)
এমিগনা

হতে Y₃Ýmপারে ₃Ýo?
রিলে

@ রিলে: হ্যাঁ আমার আগে এটি ছিল, তবে কোনও কারণে আমি অবশ্যই এটি পরিবর্তন করেছিলাম। ধন্যবাদ :)
এমিগানা

কোডটি এখনই চেষ্টা করা হচ্ছে (চ্যালেঞ্জ শেষ হওয়ার পরে অনেক দেরিতে) ... এবং আপনার সমাধানটি আমার কাছে প্রচুর খালি অ্যারে ফিরে আসবে বলে মনে হচ্ছে ... আমি কি কিছু ভুল করছি?
রেডক্লোভার

6

পাইথ, 22 21 20 17 বাইট

fqQlTjLkt#.:^L2yT

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

ব্যাখ্যা

fqQlTjLkt#.:^L2yT
            ^L2yT  Get the powers of 2 up to 2^20
        t#.:       Get all consecutive sequences of at least 2
     jLk           Concatenate each
fqQlT              Get the ones whose length is the input

21 বাইট:fqQlTmjkdftlT.:m^2d12
মিস্টার এক্সকোডার


19 বাইট - fqQlTjLkftT.:m^2d12
Jakube

18 বাইট - fqQlTjLkftT.:^L2yT
Jakube

1
17 বাইট - fqQlTjLkt #
।:

4

জেলি ,  19 18  16 বাইট

এখনই একটি সংক্ষিপ্ত সমাধান হতে পারে যে আমরা যে কোনও কাট-অফ ব্যবহার করতে পারি (কেবলমাত্র 2048 নয়), যদিও নির্দিষ্টকরণে এই পরিবর্তনটি 32768 এর কাট-অফে গিয়ে এই প্রয়োগ থেকে একটি বাইট সংরক্ষণের অনুমতি দিয়েছে y
এইপ। ..

-২ বাইটস এরিক দ্য আউটগল্ফারকে ধন্যবাদ ( ফিল্টারটি আঁটানো এবং আঁটসাঁট করতে Vডান যুক্তি প্রয়োগের ব্যবহার ) -
এখন এটি তার অদক্ষতার সাথে খুব মিল; তার উর্ধ্বে যান !

⁴Ḷ2*Ẇṫ17VDL$⁼¥Ðf

একটি মোনাডিক লিঙ্ক একটি নম্বর নিয়ে এবং সংখ্যার একটি তালিকা ফেরত দেয়।

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

কিভাবে?

⁴Ḷ2*Ẇṫ17VDL$⁼¥Ðf - Link: number, n        e.g. 3
⁴                - literal sixteen             16
 Ḷ               - lowered range               [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
  2              - literal two                 2
   *             - exponentiate                [1,2,4,8,16,32,...,32768]
    Ẇ            - all sublists                [[1],[2],...,[1,2],[2,4],...,[1,2,4],...]
      17         - literal seventeen           17
     ṫ           - tail from index             [[1,2],[2,4],...,[1,2,4],...]]
        V        - evaluate as Jelly code      [12,24,...,124,...]
              Ðf - filter keep:
             ¥   -   last two links as a dyad
           $     -     last two links as a monad:
         D       -       decimal list (of entry) (i.e. 816 -> [8,1,6] or 24 -> [2,4])
          L      -       length                  (i.e. 816 -> 3, or 24 -> 2)
            ⁼    -   equals (n)                  (i.e. 816 -> 1, or 24 -> 0)
                 - ...resulting in             [816, 124, 248]

1
কি এই কব্জায় মত? (দয়া করে সত্য বলুন: পি)
এরিক আউটগল্ফার

অদ্ভুতভাবে যথেষ্ট আমি শুধু ব্যবহার করার চেষ্টা করা হয় Vএবং এটি 16 বদলে 1000 জন্য কাজ করব: ⁴Ḷ2*Ẇṫ17VDL$⁼¥Ðf
জোনাথন অ্যালান

আমি সর্বাধিক জন্য যাচ্ছি: পি
এরিক আউটগল্ফার

@ এরিকথ আউটগল্ফার তারা এখন একই রকম হতে পারে তবে আমি মনে মনে আমাদের উভয়কেই রাখা উচিত আমি নিশ্চিত যে আপনি স্বাধীনভাবে আপনার সাথে এসেছেন এবং আমি নিশ্চিত যে আমিও alভাল কৌশলটি খুঁজে পেয়েছি (যেহেতু আমি ঠিক এটির দিকে চেয়েছিলাম) , কেবল চেইনটি সঠিকভাবে পাওয়া দরকার)।
জোনাথন অ্যালান

@ এরিকথ আউটগল্ফার আপনি পুরুষ হিসাবে অনুধাবন করেছি এবং এরূপ হিসাবে উল্লেখ করা পছন্দ করি তবে বাস্তবে তা সত্য হিসাবে জানে না; আপনি যদি একটি পৃথক সর্বনাম পছন্দ করেন তবে আমাকে জানাবেন!
জোনাথন অ্যালান


4

জাপট , 22 20 19 16 বাইট

ইনপুট পর্যন্ত সমর্থন করে 639তবে ফাঁকগুলি ক্রমের পরে প্রদর্শিত শুরু হয় 234(সমর্থিত ইনপুট রেঞ্জগুলির সম্পূর্ণ তালিকা এখানে দেখুন )। স্ট্রিংগুলির একটি অ্যারে আউটপুট করে।

IÆIo!²ãX m¬lUäc

এটা পরীক্ষা করো

I()৪) L(100) দিয়ে প্রতিস্থাপন করা যেতে পারে তবে আমরা বৈজ্ঞানিক স্বরলিপি এবং নির্ভুলতা ভুলত্রুটিগুলিতে পড়তে চাই। এগুলি ফিল্টার করা স্পষ্টতই বাইট গণনা বাড়িয়ে কেবলমাত্র সর্বোচ্চ ইনপুটকে বাড়িয়ে তুলবে 736

                     :Implicit input of integer U
I                    :64
 Æ                   :Map each X in [0,64)
  Io                 :  Range [0,64)
    !²               :  Raise 2 to the power of each
      ãX             :  Subsections of length X
         m           :  Map
          ¬          :    Join
           lU        :  Filter elements of length U
             Ã       :End map
              ¤      :Slice off the first 2 elements
               c     :Flatten


3

হুশ , 18 17 বাইট

আউটপুট নিউলাইনগুলি দ্বারা পৃথক করা হয়

fo=⁰LmṁsftQ↑12¡D1

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

কিভাবে?

           ↑12¡D1    The sequence [1,2,4...2048]
              ¡      Repeatedly apply function, collecting results in a list
               D     double
                1    initially applying to 1
           ↑12       Take the first 12 elements
          Q          Get all sublists
        ft           With a length greater than 1
     mṁs             Convert each list into a string, e.g [4,8,16] -> "4816"
fo=⁰L                Keep only those whose length is equal to the input

3

জেলি , 16 বাইট

ȷḶ2*ẆṫȷḊVDL$⁼¥Ðf

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

দ্রষ্টব্য: খুব অদক্ষ সংখ্যার একটি তালিকা প্রদান করে।


টিও এই কোডটি বিশ্লেষণ করতে সক্ষম হবে বলে মনে হচ্ছে না ... এটি সর্বদা 60 সেকেন্ডের বেশি হয় ...
রেডক্লুভার


1
@ সোয়াকু এটি তত্ত্ব অনুসারে কাজ করে - এটি কেবলমাত্র সময় ব্যয় করে কারণ এটি অত্যন্ত অদক্ষ।
জোনাথন অ্যালান

1
@ সোয়াকু আমি আমার মন্তব্যে বোঝাতে চাইছি। আমি ইতিমধ্যে তাদের প্রতিস্থাপন করেছি, এবং আউটপুট আছে [12, 24, 48]
এরিক আউটগল্ফার

1
@ সোয়াকু অতিরিক্ত খরচ ছাড়াই পারলে সবচেয়ে বেশি কেন যাবেন না? ;)
এরিক দি আউটগলফার

3

জাভাস্ক্রিপ্ট (ES7), 102 100 বাইট

এর সাথে মিলে যাওয়া সমস্ত উপ-অনুক্রমগুলি মুদ্রণ করে alert()

l=>[...1e11+''].map((_,k,a)=>a.map((_,x)=>(s=(g=n=>x<=k|n<k?'':g(n-1)+2**n)(x)).length-l||alert(s)))

ডেমো

এনবি : এই স্নিপেটটি ফলাফলগুলি বাফার করছে এবং তাদেরকে ব্যবহারকারী-বন্ধুত্বের জন্য কনসোলে মুদ্রণ করছে।


3

হাস্কেল , 72 67 বাইট

f n=[s|i<-[0..99],j<-[i+1..99],s<-[show.(2^)=<<[i..j]],length s==n]

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

লাইকোনি ধন্যবাদ 5 বাইট সংরক্ষণ করা

আমি এর একটি সীমা ব্যবহার করেছি 99কারণ 2^99এর দৈর্ঘ্য রয়েছে > 27


এটি 27 এর ইনপুটের জন্য অতিরিক্ত কেসগুলি ফিরিয়ে দিচ্ছে।
জোনাথন অ্যালান

আপনি 11 এর সাথে 99 প্রতিস্থাপন করতে পারেন, তাই এটি আরও বৈধ হয়ে ওঠে । যদিও, আমি উল্লেখ করি নি যে> 2048 নম্বরগুলি অবৈধ। আমি কেবল বলেছি, 2048 সর্বনিম্ন ব্যাপ্তি।
রেডক্লুভার

@ জোনাথান অ্যালান আমার মনে হয় এটি এখনও সঠিক: "আপনি চান 2020 এক বা তার চেয়ে বড়" আমি 633825300114114700748351602688 ক্রমটি নিয়েছি কারণ এটি গ্যারান্টি দেয় যে এর বাইরে আর কোনও সমাধান হবে না (2-27 পরিসীমা)। আসলে, আমি মনে করি একটি 45 সীমা যথেষ্ট হবে, কারণ length$(show$2^44)++(show$2^45)==28
jferard

@ জেফারার্ড যা আসলে আপনার উত্তরের পরে সম্পাদিত হয়েছিল (এটি আসলে "2048 এর আগে সীমাবদ্ধ ছিল")। আমি এই ক্ষেত্রে আমার খাটোও করতে পারি।
জোনাথন অ্যালান

1
@ জোনাথান অ্যালান হ্যাঁ, আমি আসলে বুঝতে পেরেছি যে এই অ্যাওয়ার পোস্ট করার পরে প্রশ্নের কিছু নিয়ম ভুল এবং বিভ্রান্তিকর।
রেডক্লুভার

2

গণিত, 122 বাইট

(s=#;FromDigits@F[f/@#]&/@Select[Subsequences[Array[2^#&,99,0]],l@#>1&&(l=Length)@(F=Flatten)[(f=IntegerDigits)/@#]==s&])&  


ইনপুট

[27]

আউটপুট

{879609302220817592186044416, 134217728268435456536870912, 524288104857620971524194304, 163843276865536131072262144, 204840968192163843276865536, 256512102420484096819216384, 641282565121024204840968192, 163264128256512102420484096, 124816326412825651210242048}

Input [1000]
Output  1441151880758558722882303761517117445764607523034234881152921504606846976230584300921369395246116860184273879049223372036854775808184467440737095516163689348814741910323273786976294838206464147573952589676412928295147905179352825856590295810358705651712118059162071741130342423611832414348226068484722366482869645213696944473296573929042739218889465931478580854784377789318629571617095687555786372591432341913615111572745182864683827230223145490365729367654460446290980731458735308812089258196146291747061762417851639229258349412352483570327845851669882470496714065569170333976494081934281311383406679529881638685626227668133590597632773712524553362671811952641547425049106725343623905283094850098213450687247810566189700196426901374495621121237940039285380274899124224247588007857076054979824844849517601571415210995964968969903520314283042199192993792198070406285660843983859875843961408125713216879677197516879228162514264337593543950336158456325028528675187087900672316912650057057350374175801344

2

সি, 170 বাইট

i,j;f(n){char t[99],s[12][5]={"1"};for(i=j=1;i<12;)sprintf(s+i++,"%d",j*=2);for(i=0;i<12;++i,strlen(t)-n||j>1&&puts(t))for(j=*t=0;strlen(t)<n&&j+i<12;)strcat(t,s+i+j++);}

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

Unrolled:

i,j;
f(n)
{
    char t[99], s[12][5] = {"1"};
    for (i=j=1; i<12;)
        sprintf(s+i++, "%d", j*=2);
    for (i=0; i<12; ++i, strlen(t)-n || j>1 && puts(t))
        for (j=*t=0; strlen(t)<n && j+i<12;)
            strcat(t, s+i+j++);
}



1

জাপট, 24 বাইট

উত্সাহিত করবেন না

এখন আমি বুঝতে পেরেছি যে @ শ্যাগি যেমন করেছিলেন ঠিক তেমনই গল্ফ করেছে না of (আমি উত্তর সরাতে হবে?)

এই প্রশ্নটি পোস্ট করার পরে কিছুক্ষণ পরে, আমি আমার প্রথম গল্ফিংয়ের ভাষা শিখেছি। এই কারণে, আমি এখানে আমার ভাগ্য চেষ্টা করার সিদ্ধান্ত নিয়েছে।

2oI,@IÆ2pYÃãX ®q
c f_Ê¥N

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

স্কোরটি সেরা নয়, এটি এমনকি ভাল নয়, তবে এটি করতে আমার অনেক সময় লেগেছে-

আমি প্রচুর স্কোর হারিয়েছি, কারণ কিছু কারণে, ã কেবলমাত্র এক্স দৈর্ঘ্যের অ্যারেগুলি ফিরিয়ে দিতে পারে ... এটি যদি না হয় তবে 10 ডলার বাইটও হতে পারে।

ব্যাখ্যা:

2oI,@IÆ2pYÃãX ®q # All 2^ combinations:
2oI              # Range 2-64
   ,@            # Map (X as index)
     IÆ          #   Range 0-64, map (Y as index)
       2pY       #   2^Y
          Ã      #   End function (map)
                 #   this = array of powers.
           ãX    #   All combinations with X length
              ®q # Join then (arrays to numbers)

c f_Ê¥N          # Filter length to input:
c                # Flatten
  f_             # Filter
    Ê            #  Length
     ¥           #  ==
      N          #  Parsed input

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