নতুন অর্ডার # 5: যেখানে ফিবোনাচি এবং বিটি ওয়েথফের সাথে দেখা করে


16

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

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

এই চ্যালেঞ্জের মধ্যে আমরা উইথফ অ্যারের সাথে দেখা করব, যা ফিবোনাকির সিক্যুয়েন্স এবং বিটি সিকোয়েন্সগুলির অন্তর্নির্মিত তুষারপাত !

ফিবানচি সংখ্যার তোমাদের অধিকাংশই একটি সুপরিচিত ক্রম জন্য সম্ভবত হয়। প্রদত্ত দুটি শুরু সংখ্যার এফ0 এবং এফ1 , নিম্নলিখিত এফএন কর্তৃক প্রদত্ত হয়েছে: এফএন=এফ(এন-1)+ +এফ(এন-2) জন্য এন>2

মধ্যে Beatty ক্রম , একটি প্যারামিটার দেওয়া R হল: বিএনR=Rএন জন্য এন1 । বিটি সিকোয়েন্সের অন্যতম বৈশিষ্ট্য হ'ল প্রতিটি প্যারামিটার R জন্য ঠিক একটি পরামিতি গুলি=R/(R-1) , যেমন para পরামিতিগুলির জন্য বিটি সিকোয়েন্সগুলি আলাদা হয়ে যায় এবং একসাথে যোগদান করে, তারা সমস্ত প্রাকৃতিক সংখ্যা বাদ দিয়ে স্প্যান করে an 0 (যেমন: বিRবিR/(R-1)=এন{0})।

এখন এখানে মাইন্ডব্লোইং অংশটি আসে: আপনি একটি অ্যারে তৈরি করতে পারেন, যেখানে প্রতিটি সারি একটি ফিবোনাচি সিকোয়েন্স এবং প্রতিটি কলাম একটি বিটি সিকোয়েন্স। এই অ্যারেটি উইথফ অ্যারে । সেরা অংশটি হল: প্রতিটি ধনাত্মক সংখ্যা এই অ্যারেটিতে একবারে উপস্থিত হয়! অ্যারে দেখতে এমন দেখাচ্ছে:

   1    2    3    5    8   13   21   34   55   89  144 ...
   4    7   11   18   29   47   76  123  199  322  521 ...
   6   10   16   26   42   68  110  178  288  466  754 ...
   9   15   24   39   63  102  165  267  432  699 1131 ...
  12   20   32   52   84  136  220  356  576  932 1508 ...
  14   23   37   60   97  157  254  411  665 1076 1741 ...
  17   28   45   73  118  191  309  500  809 1309 2118 ...
  19   31   50   81  131  212  343  555  898 1453 2351 ...
  22   36   58   94  152  246  398  644 1042 1686 2728 ...
  25   41   66  107  173  280  453  733 1186 1919 3105 ...
  27   44   71  115  186  301  487  788 1275 2063 3338 ...
  ...

সারি মি এবং কলাম এন একটি উপাদানটি এই হিসাবে সংজ্ঞায়িত করা হয়েছে:

Am,n={mφφ if n=1mφφ2 if n=2Am,n2+Am,n1 if n>2

যেখানে φ সুবর্ণ অনুপাত হল: φ=1+52

যদি আমরা এই অ্যারের অ্যান্টি- ডায়াগোনগুলি অনুসরণ করি তবে আমরা A035513 পাই যা এই চ্যালেঞ্জের জন্য লক্ষ্য ক্রম (নোট স্লোয়েন নিজেই এই সিকোয়েন্সটি OEIS এ যুক্ত করেছে !)। যেহেতু এই একটি "বিশুদ্ধ ক্রম" চ্যালেঞ্জ, কাজের আউটপুট হয় a(n) জন্য একটি প্রদত্ত n ইনপুট, যেখানে যেমন a(n) হয় A035513

a(n) যাওয়ার জন্য আপনি অনুসরণ করতে পারেন এমন বিভিন্ন কৌশল রয়েছে যা এই চ্যালেঞ্জটিকে (আমার মতে) সত্যই আকর্ষণীয় করে তুলেছে ।

কার্য

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

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

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

Input | Output
---------------
1     |  1
5     |  7
20    |  20
50    |  136
78    |  30
123   |  3194
1234  |  8212236486
3000  |  814
9999  |  108240
29890 |  637

এটা মজা জানতে বৃহত্তম যে হতে পারে a(n) জন্য 1n32767 হয় একটি(32642)=512653048485188394162163283930413917147479973138989971=এফ(256)2φ+ +এফ(255)

বিধি

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

2
সুতরাং এখানে নতুন আদেশ রেফারেন্স কি?
লুইস মেন্ডো

2
@ লুইস মেন্ডো: ফিবোনাচি এবং বিটি সিকোয়েন্সগুলির তুষারপাত , যা
উইথফের

আহ, আমি পুরোপুরি মিস করেছি! এখন আমি অনুশোচনা বোধ করছি ...
লুইস মেন্ডো

1
ফাই (বা আরটি (5)) এর একটি ভাসমান পয়েন্ট উপস্থাপনা এবং পুনরাবৃত্তির প্রয়োগটি ব্যাপ্তির প্রয়োজনীয়তা মেটাতে চলেছে?
জোনাথন অ্যালান

1
দয়া করে 9 ম পরীক্ষার 9999999
কেসটি

উত্তর:


4

জেলি , 27 24 বাইট

p`SÞ⁸ịð’;רpḞ¥×⁹r‘ÆḞ¤Sð/

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

মোনাডিক লিঙ্কটি 1-ভিত্তিক সূচক ব্যবহার করে। n3 বাইট থেকে সারি এবং কলামগুলি পাওয়ার এবং সেভ করার আরও ভাল পদ্ধতির জন্য @ জোনাথন অ্যালানকে ধন্যবাদ । এর সংক্ষিপ্ত আকারে এটি টিআইও-তে বৃহত্তর এনগুলির জন্য খুব ধীর, সুতরাং নিম্নলিখিতটি এটি অনলাইনে চেষ্টা করুন! তিনটি বাইটের ব্যয়ে সারি এবং কলামগুলির প্রাথমিক তালিকার আকার হ্রাস করে।

ব্যাখ্যা

p`                       | Cartesian product of the range from 1..input with itself   
  SÞ                     | Sort by sum
    ⁸ị                   | Find the tuple at the position indicated by the input - this is the row and column
      ð               ð/ | Start a new dyadic chain using the row as the left and column as the right argument
       ’                 | Increase the row by 1
        ;    ¥           | Concatenate to:
         רp             |   row × φ
            Ḟ            |   rounded down
              ×     ¤    | Multiply this pair by
                  ÆḞ     |   the Fibonacci numbers at positions
               ⁹         |   column index and
                r‘       |   column index plus one
                     S   | sum

নোট করুন এটি OEIS পৃষ্ঠায় পাইথন কোডের বর্ণনার ভিত্তিতে is


1
...×⁹r‘ÆḞ¤Sð/আপনার সংহত সংস্করণে একটি সংরক্ষণ করে ( টিআইও )
জনাথন অ্যালান

6

আর , 143 130 124 123 বাইট

function(n){k=0:n+1
`~`=rbind
m=k-1~(k*(1+5^.5)/2)%/%1
for(i in k)m=m~m[i,]+m[i+1,]
m=m[-1:-2,]
m[order(row(m)+col(m))][n]}

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

সূত্র ব্যবহার করে টি(এন,-1)=এন-1;টি(এন,0)=এনφ;টি(এন,)=টি(এন,-1)+ +টি(এন,-2)অ্যারে (ট্রান্সপোজড), তারপরে splitsঅ্যারেটিডায়াগনালগুলি বরাবর নির্মাণ করতে। kকেবলমাত্র মামলার পক্ষে কোনও drop=Fযুক্তি জোর করে আটকাতে উপস্থিত রয়েছে ।m[-1:-2,]n=1

1 বাইট গল্ফ নির্দেশ করার জন্য নীলকে ধন্যবাদ জানাই।

আর , 150 138 132 বাইট

function(n){T[2]=1
for(j in 2:n-1)T=c(T,T[j]+T[j+1])
m=T[-1]%o%((1:n*(.5+5^.5/2))%/%1)+T[-1-n]%o%(1:n-1)
m[order(row(m)+col(m))][n]}

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

সূত্র কার্যকর করে টি(এন,)=এফআমি(+ +1)এনφ+ +এফআমি()(এন-1)অ্যারে তৈরি করতে, তারপরে splitsঅ্যান্টিডিজোনালগুলি এবং nthউপাদানটি বের করে ।

ফিবোনাচি সিকোয়েন্স তৈরির কৌশলটির জন্য রবিন রাইডারকে ধন্যবাদ T[2]=1জানাই।


উভয় সমাধানই অত্যন্ত অদক্ষ, প্রবাহিত হওয়ার সময় স্বয়ংক্রিয়ভাবে আর (32-বিট স্বাক্ষরিত) হিসাবে প্রচার করে ( nxnসম্ভবত সম্ভবত) doubleএর ম্যাট্রিক্স তৈরি করে তবে দ্বিতীয়টি বেশ দ্রুত হওয়া উচিত। একটি কলম হিসাবে গ্রহণ স্বয়ংক্রিয়ভাবে কাজ করা উচিত, কল ব্যবহার করে , এর অধীনে নির্ভুলতা হারাতে হবে উদ্বেগজনক, এবং তারপরে ভাষাটি হবে ।integerdoublengmp::as.bigz(n)doubleR + gmp


আপনি কি (1+5^.5)/2পরিবর্তে ব্যবহার করতে পারেন (.5+5^.5/2)?
নীল

@ নীল ... হ্যাঁ, আমি পারি ধন্যবাদ! কেবলমাত্র শীর্ষের মধ্যে এটি সম্পাদনা করতে যাচ্ছি যদি না আমি দ্বিতীয়টির থেকে আরও অনেক বেশি গল্ফ পাওয়ার কোনও উপায় না পাই।
জিউসেপে


2

জেলি , 30 বাইট

p`SÞ⁸ịð;Øp,²;\¤×Ḟ¥/;+ƝQƊ⁹¡ị@ð/

এটি অনলাইন চেষ্টা করুন!
এটি সামান্য ধীর, তবেḤ½Ċএই পরীক্ষার স্যুটটির মতো (ডাবল, বর্গক্ষেত্র, সিলিং)উপসর্গ দিয়ে একটি বিশাল উন্নতি করা হয়েছে।


2
তুমি ঠিক! 740496902জন্য ফলাফল999
J42161217

আপনার প্রথম অংশ এবং আমার দ্বিতীয় অংশের সংমিশ্রণ 25 বাইট দেয় । নিশ্চিত না যে আমাদের কারওটির সম্মিলিত সংস্করণ থাকা উচিত!
নিক কেনেডি

@ নিক কেনেডি - চমৎকার, এটির জন্য যান!
জোনাথন অ্যালান

2

কাঠকয়লা , 54 বাইট

Nθ≔⁰ηW‹ηθ«≦⊕η≧⁻ηθ»⊞υ¹Fθ⊞υ⁻⁺³ι§υ⊖§υι⊞υθF⁺²⁻θη⊞υΣ…⮌υ²I⊟υ

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। 0-ইন্ডেক্স। কেবল পূর্ণসংখ্যার গাণিতিক ব্যবহার করে তাই স্বেচ্ছাসেবী বড় মানগুলির জন্য কাজ করে। ব্যাখ্যা:

Nθ

ইনপুট q

≔⁰ηW‹ηθ«≦⊕η≧⁻ηθ»

ক্রমবর্ধমান সংখ্যার বিয়োগ করে অ্যান্টিডিজোনাল গণনা করুন q, যা লক্ষ্য সারি সংখ্যার সাথে শেষ হয় m

⊞υ¹Fθ⊞υ⁻⁺³ι§υ⊖§υι

A019446 এর প্রথম m+1পদগুলি গণনা করুন , যদিও আমরা কেবলমাত্র th এর সাথে আগ্রহী ।m

⊞υθF⁺²⁻θη⊞υΣ…⮌υ²

n+4জেনারালাইজড ফিবোনাচি সিরিজের প্রথম শর্তগুলি গণনা করুন যা দিয়ে শুরু হয় [a(m), m]। এই সিকোয়েন্সের mশর্তাদি A019446 , A001477 , A000201 এর তম শর্তাবলী , A003622 , A035336 ; এই শেষ দুটি হ্যাঁ ওয়েথফ অ্যারের প্রথম দুটি কলাম এবং তাই এই ক্রমটি অ্যারের বাকী mতম সারির সাথে অবিরত থাকবে ।

I⊟υ

পছন্দসই শব্দটি আউটপুট করুন।

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