ডিভিনাচি সিকোয়েন্স


23

Divinacci ( OEIS )

ফিবোনাচি ক্রম সম্পাদন করুন তবে ব্যবহারের পরিবর্তে:

f(n) = f(n-1)+f(n-2)

ব্যবহার করুন:

f(n) = sum(divisors(f(n-1))) + sum(divisors(f(n-2)))

nনবম পদের আউটপুট ইনপুট দেওয়ার জন্য , আপনার প্রোগ্রামটিতে কেবল 1 টি ইনপুট থাকা উচিত।


প্রথম 14 টি পদ (0-সূচকযুক্ত, আপনি 1 সূচক করতে পারেন; আপনি যে রাষ্ট্রটি ব্যবহার করেছেন):

0  | 0     # Initial               | []
1  | 1     # Initial               | [1] => 1
2  | 1     # [] + [1]              | [1] => 1
3  | 2     # [1] + [1]             | [1,2] => 3
4  | 4     # [1] + [1,2]           | [1,2,4] => 7
5  | 10    # [1,2] + [1,2,4]       | [1,2,5,10] => 18
6  | 25    # [1,2,4] + [1,2,5,10]  | [1,5,25] => 31
7  | 49    # [1,2,5,10] + [1,5,25] | [1,7,49] => 57
8  | 88    # [1,5,25] + [1,7,49]   | [1, 2, 4, 8, 11, 22, 44, 88] => 180
9  | 237   # [1,7,49] + [180]      | [1, 3, 79, 237] => 320
10 | 500   # [180] + [320]         | [1, 2, 4, 5, 10, 20, 25, 50, 100, 125, 250, 500] => 1092
11 | 1412  # [320] + [1092]        | [1, 2, 4, 353, 706, 1412] => 2478
12 | 3570  # [1092] + [2478]       | [1, 2, 3, 5, 6, 7, 10, 14, 15, 17, 21, 30, 34, 35, 42, 51, 70, 85, 102, 105, 119, 170, 210, 238, 255, 357, 510, 595, 714, 1190, 1785, 3570] => 10368
13 | 12846 # [2478] + [10368]      | [1, 2, 3, 6, 2141, 4282, 6423, 12846] => 25704
Etc...

এর ভাজক: আপনি থাকুক বা না থাকুক নেতৃস্থানীয় 0. যারা না তাদের জন্য অন্তর্ভুক্ত করা চয়ন করতে পারেন 0হয় []এই প্রতিদ্বন্দ্বিতা করার উদ্দেশ্যে।

এটি সর্বনিম্ন বাইট-কাউন্ট জিতেছে ...


15
সকল স্বাভাবিক সংখ্যার ভাগ করে 0 , এইভাবে তার ভাজক সমষ্টি + + ∞
ডেনিস

9
@ ডেনিস অবশেষে এমন কেউ আছেন যা 1 + 2 + 3 + ... = -1/12 মনে করেন না।
লিকি নুন

1
@ ডেনিস আমরা 0 টি থেকে মুক্তি পেতে পারি এবং এটি বৈধ করে তুলতে পারি: পি। অথবা আপনি চাইলে একটি গণিত উত্তর জমা দিতে Infinityপারেন।
ম্যাজিক অক্টোপাস উরন

জেলি উত্তর সংক্ষিপ্ত হবে। : পি আপনি হয় সিকোয়েন্স পরিবর্তন করতে পারেন (উত্তরটি সম্ভবত টুইটারের প্রয়োজনও হবে) বা এর বিবরণ পরিবর্তন করতে পারেন (বেস মান 0, 1, 1 দিয়ে শুরু করুন )।
ডেনিস

1
@ কারাসোকম্পুটিং যদি ক্রমটি পরিবর্তন না হয় তবে এটি উত্তরগুলিকে কীভাবে প্রভাবিত করতে পারে?
মার্টিন ইন্ডার

উত্তর:


10

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

XÎFDŠ‚ÑOO

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

ব্যাখ্যা

XÎ          # initialize stack with 1,0,input
  F         # input times do
   D        # duplicate
    Š       # move down 2 places on the stack
     ‚      # pair the top 2 elements on the stack
      Ñ     # compute divisors of each
       OO   # sum twice

অদলবদল হয়ে যাচ্ছে হে! মজাদার.
ম্যাজিক অক্টোপাস উরন

2
আমি পছন্দ করি শেষ দম্পতি বাইটগুলি কীভাবে জোর করে পাঠকের দিকে চিত্কার করছে।
রোহান ঝুনঝুনওয়ালা

1
আপনি 2 মিনিটের মধ্যে এটি জিতেছেন
ম্যাজিক অক্টোপাস আরন 21

8

গণিত, 45 40 বাইট

If[#<3,1,Tr@Divisors@#0[#-i]~Sum~{i,2}]&

ম্যাথামেটিকাল এর ভাজক এর সাথে সম্পর্কিত ফাংশন Divisors, DivisorSumএবং DivisorSigmaসবার জন্য undefined হয় এন = 0 (ন্যায়ত তাই), তাই আমরা থেকে শুরু f(1) = f(2) = 1এবং ইনপুট সমর্থন করি না 0

নামহীন ফাংশনটি ব্যবহার করার পরিবর্তে এটিকে অপারেটর হিসাবে সংজ্ঞায়িত করা দুটি বাইট দীর্ঘ বলে মনে হচ্ছে:

±1=±2=1
±n_:=Sum[Tr@Divisors@±(n-i),{i,2}]

* ±ম্যাথমেটিকা ​​সমর্থিত এনকোডিংয়ে 1 বাইট না হলে 7 বাইট দীর্ঘতর ।
ক্যালকুলেটরফলাইন

পছন্দ করুন ( $CharacterEncodingউইন্ডোজ মেশিনগুলির জন্য ডিফল্ট সেটিংটি হ'ল WindowsANSIসিপি 1252))
মার্টিন ইন্ডার

1
জানা ভাল. ।
ক্যালকুলেটরফলাইন




3

এমএটিএল, 16 15 বাইট

Oliq:",yZ\s]+]&

এই সমাধান 0-ভিত্তিক সূচক ব্যবহার করে।

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

ব্যাখ্যা

O        % Push the number literal 0 to the stack
l        % Push the number literal 1 to the stack
i        % Explicitly grab the input (n)
q        % Subtract 1
:        % Create the array [1...(n - 1)]
"        % For each element in this array...
  ,      % Do the following twice
    y    % Copy the stack element that is 1-deep
    Z\   % Compute the divisors
    s    % Sum the divisors
  ]      % End of do-twice loop
  +      % Add these two numbers together
]        % End of for loop
&        % Display the top stack element

3

জেলি , 10 9 বাইট

ð,ÆDẎSð¡1

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

ডেনিসকে -১ এর জন্য ধন্যবাদ



@ ডেনিস 0নিখুঁত ছিল?
এরিক আউটগলফার

আপনি যখন STDIN থেকে পুনরাবৃত্তির সংখ্যা নেন, আপনি একটি নীলাদিক চেইন পাবেন এবং 0 হ'ল নীলাদিক শৃঙ্খলার অন্তর্নিহিত যুক্তি।
ডেনিস

@ ডেনিস তাই ¡অন্যরাও কোথাও কোথাও একটি যুক্তি দিয়ে চেষ্টা করবেন Ɠ? এটি বেশ অপ্রত্যাশিত ...
এরিক দি আউটগলফার

স্পষ্টভাবে নির্দিষ্ট না করা, ¡ইত্যাদি। শেষ কমান্ড-লাইন আর্গুমেন্ট নিন এবং, যদি না থাকে তবে এসটিডিএন থেকে একটি লাইন পড়ে।
ডেনিস





1

আর, 81 বাইট

f=function(n,a=1,b=1,d=numbers::divisors)`if`(n-1,f(n-1,b,sum(d(a))+sum(d(b))),a)

1-ইনডেক্সড এবং ক্রমের শুরুতে 0 বাদ দেয়। সেই শূন্যটি বাস্তবায়নে আমাকে অনেক কষ্ট দিয়েছে, কারণ বিল্টিন innumbers::divisors এটি ভালভাবে পরিচালনা করতে পারে না।

বাকীটি হ'ল স্ট্যান্ডার্ড রিকার্সিভ ফাংশনের একটি পরিবর্তিত সংস্করণ যা ফিবোনাচি সিকোয়েন্সটি কার্যকর করে।

> f(1)
[1] 1
> f(2)
[1] 1
> f(3)
[1] 2
> f(5)
[1] 10
> f(13)
[1] 12846
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.