নতুন অর্ডার # 3: 5 8 6


16

ভূমিকা (উপেক্ষা করা হতে পারে)

সব ধনাত্মক সংখ্যাটিকে নিয়মিত ক্রম (1, 2, 3, ...) স্থাপন করা কিছুটা বিরক্তিকর, তাই না? সুতরাং এখানে সমস্ত ধনাত্মক সংখ্যার ক্রমবিন্যাস (রদবদল) চারপাশে চ্যালেঞ্জগুলির একটি সিরিজ রয়েছে। এটি এই সিরিজের তৃতীয় চ্যালেঞ্জ ( প্রথম এবং দ্বিতীয় চ্যালেঞ্জের লিঙ্ক)।

এই চ্যালেঞ্জে, আমরা প্রাকৃতিক সংখ্যাগুলিকে ক্রমবর্ধমান দৈর্ঘ্যের সারিগুলিতে এমনভাবে সাজিয়ে তুলব যাতে প্রতিটি সারির যোগফলই প্রধান হয়। আমি এ সম্পর্কে যা সত্যিই আশ্চর্যজনক মনে করি তা হ'ল প্রতিটি প্রাকৃতিক সংখ্যার এই বিন্যাসে একটি জায়গা রয়েছে। কোন নম্বর এড়ানো হয় না!

এই বিন্যাসের এই দৃশ্যটি এইরকম দেখাচ্ছে:

row             numbers             sum
1                  1                  1
2                2   3                5
3              4   5   8             17
4            6   7   9  15           37
5          10 11  12  13  21         67
6        14  16 17  18  19  23      107
etc.

আমরা এই ত্রিভুজের সারিগুলি থেকে উপাদানগুলি পড়তে পারি। প্রথম 20 উপাদানগুলি হ'ল: 1, 2, 3, 4, 5, 8, 6 , 7, 9, 15, 10, 11, 12, 13, 21, 14, 16, 17, 18, 19 ( হ্যাঁ, আছে এই ক্রমে লুকানো একটি নতুন অর্ডার গান )।

যেহেতু এই একটি "বিশুদ্ধ ক্রম" চ্যালেঞ্জ, কাজের আউটপুট হয় একটি(এন) জন্য একটি প্রদত্ত এন ইনপুট, যেখানে যেমন একটি(এন) হয় A162371

কার্য

একটি পূর্ণসংখ্যার ইনপুট এন , পূর্ণসংখ্যা বিন্যাসে আউটপুট একটি(এন)

একটি(এন) কেপ্রাকৃতিক সংখ্যার ডিক্সিকোগ্রাফিকভাবে প্রাথমিক অনুক্রমেরএন তম উপাদানহিসাবে সংজ্ঞায়িত করা হয়েছেযেগুলি যখন সারি দ্বারা পড়া ত্রিভুজ হিসাবে দেখা যায়, n> 1 এর জন্য সারিগুলির যোগফলগুলি প্রধান সংখ্যা হয় are 1 স্বাভাবিক সংখ্যার শুরু প্রথম আভিধানিক বিন্যাস সাল থেকে,একটি(1) 1. লক্ষ্য করুন এই সংজ্ঞা দ্বারা হয়একটি(1)=1 এবংএকটি(1) হয়নাপ্রধানমন্ত্রী হওয়া প্রয়োজন। এটি OEIS ক্রমA162371

দ্রষ্টব্য: 1-ভিত্তিক সূচীকরণ এখানে ধরে নেওয়া হয়; আপনি 0-ভিত্তিক সূচক ব্যবহার করতে পারেন, সুতরাং একটি(0)=1;একটি(1)=2 ইত্যাদি ইত্যাদি যদি আপনি এটি ব্যবহার করতে চান তবে আপনার উত্তরে এটি উল্লেখ করুন।

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

Input | Output
---------------
1     |  1
5     |  5
20    |  19
50    |  50
78    |  87
123   |  123
1234  |  1233
3000  |  3000
9999  |  9999
29890 |  29913

বিধি

  • ইনপুট এবং আউটপুটটি পূর্ণসংখ্যা হয় (আপনার প্রোগ্রামটি কমপক্ষে 1 অবধি 32767 এ ইনপুট এবং আউটপুট সমর্থন করে)
  • অবৈধ ইনপুট (0, ভাসমান, স্ট্রিং, নেতিবাচক মান ইত্যাদি) অনির্দেশিত আউটপুট, ত্রুটি বা (আন) সংজ্ঞায়িত আচরণের দিকে পরিচালিত করতে পারে।
  • ডিফল্ট আই / ও বিধি প্রযোজ্য।
  • ডিফল্ট লুফোলগুলি নিষিদ্ধ।
  • এটি , তাই বাইটে সংক্ষিপ্ত উত্তরগুলি জিতে

আমরা কি সীমাকে অসীমভাবে আউটপুট দিতে পারি, বা পরিবর্তে কোনও জেনারেটর ফিরিয়ে দিতে পারি?
জো কিং

2
এরর, ১ টি প্রধান নয়
জো কিং

1
@ জোকিং সম্পর্কে একটি (1) = 1: আমি এটি যুক্ত করব। এটি আসলে ব্যতিক্রম। এটি OEIS এন্ট্রিটিতে স্পষ্টভাবে বলা আছে, ক্রয় আমি সম্পূর্ণরূপে এটির উল্লেখ করতে ব্যর্থ হয়েছিল। আমি এটিকে প্রশ্নের সাথে যুক্ত করব। ধন্যবাদ।
অবধি 28:39

@ জোকিং নোট করুন যে ক্রমের সংজ্ঞাটি কেবলমাত্র n> 1 এর জন্য সারিটির যোগফলকে প্রধান হতে হবে। যেহেতু ক্রমটি প্রাকৃতিক সংখ্যার প্রথম শব্দকোষীয় ক্রমশক্তি, তাই ক (1) 1 হিসাবে প্রকাশিত হয় So সুতরাং প্রকৃতপক্ষে 1 টি প্রধান নয় তবে ক্রমটির সংজ্ঞা বা সংজ্ঞাটি 1 বা প্রধান হতে হবে না বা বলে না .. ।
পুরো

4
সম্পর্কিত ক্রম: A075348
jimmy23013

উত্তর:



3

পার্ল 6 , 80 77 বাইট

{({$!=@_;+(1...{$_$!&&(|$!,$_).rotor(1..*).one.sum.is-prime-1})}...*)[$_]}

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

ব্যাখ্যা:

{                                  }  # Anonymous code block
 (                        ...*)[$_]   # Index into the infinite sequence
  {                      }   # Where each element is
   $!=@_;  # Save the list of previous elements into $!
   +(1...{             })    # Return the first number that
          $_$!         # Has not appeared in the list so far
          &&            # And
          (|$!,$_)      # The new sequence
          .rotor(1..*)  # Split into rows of increasing length
                        # And ignoring incomplete rows
          .one          # Have exactly one row
          .sum          # Where the sum
          .is-prime-1   # Is not prime (i.e. just the first row)

3

হাস্কেল , 122 120 বাইট

import Data.Numbers.Primes
l%a|(p,q)<-splitAt l a,(s,k:t)<-span(not.isPrime.(+sum p))q=p++k:(l+1)%(s++t)
((1:1%[2..])!!)

এটি অনলাইন চেষ্টা করুন! (এর জন্য অতিরিক্ত 2 বাইট রয়েছেf= )

সম্পাদনা: 2 বাইট সংরক্ষণ করতে এখন 0-ভিত্তিক সূচক ব্যবহার করে। ধন্যবাদ @ ওয়াস্টল এটি নির্দেশ করার জন্য, আমি অবশ্যই ওপিতে এটি মিস করেছি।

এই লিখতে খুব মজা ছিল! সহায়ক ফাংশনটি %একটি দৈর্ঘ্য lএবং এটি ব্যবহার করতে পারে এমন মানগুলির একটি তালিকা নেয় a। এটি ক্রমের জন্য মানগুলির একটি অসীম তালিকা প্রদান করে। দৈর্ঘ্য বর্তমান ত্রিভুজ সারিটির দৈর্ঘ্যের তুলনায় এক কম এবং তালিকাটি অসীম এবং প্রাক সাজানো। প্রথমে আমরা কেবল প্রথম lমানগুলি উত্পন্ন করি aএবং তারপরে একটি বাকী অংশটি সন্ধান করি যতক্ষণ না আমরা প্রথম (ক্ষুদ্রতম) মানটি যোগফলটিকে প্রধান করে তোলে। আমরা সেই মানটি ব্যবহার করে spanএবং কিছু প্যাটার্ন মিলে around এখন আমাদের যা করতে হবে তা হল নতুন মানটি এবং পরবর্তী লাইনের দৈর্ঘ্য l+1এবং বাকী মানগুলির সাথে পুনরাবৃত্তি a। চূড়ান্ত ফলাফলের জন্য আমরা 1 (এন = 0 এর জন্য বিশেষ কেস) প্রেন্ডেন্ড করি এবং এর সাথে সূচী !!


1
আমি মনে করি আপনি 0:0-ভিত্তিক সূচক ব্যবহার করতে পারেন এমন চ্যালেঞ্জ হিসাবে আপনি এটিকে সরাতে পারবেন।
wastl



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