ফিবোনাচি ফাংশন বা সিকোয়েন্স


115

ফিবানচি ক্রম সংখ্যা, যেখানে ক্রমানুসারে প্রতি NUMBER এটা পূর্ববর্তী দুটি সংখ্যার যোগফল হল একটি ক্রম। অনুক্রমের প্রথম দুটি সংখ্যা উভয়ই 1।

এখানে প্রথম কয়েকটি পদ রয়েছে

1 1 2 3 5 8 13 21 34 55 89 ...

সংক্ষিপ্ততম কোডটি লিখুন যা হয়:

  • শেষ না করেই ফিবোনাচি সিক্যুয়েন্স তৈরি করে।

  • প্রদত্ত অনুক্রমের তম পদ nগণনা করে n। (হয় 1 বা শূন্য সূচকযুক্ত)

আপনি ইনপুট এবং আউটপুট মানক ফর্ম ব্যবহার করতে পারেন।

(অন্যটির তুলনায় আপনার চয়ন করা ভাষায় কোনও কাজ করা সহজ হলে আমি উভয় বিকল্পই দিয়েছি))


যে ফাংশনটি গ্রহণ করে তার জন্য n, যুক্তিসঙ্গতভাবে বৃহত রিটার্ন মান (সর্বনিম্নতম আপনার কম্পিউটারের সাধারণ শব্দের আকারের সাথে ফিট করে সবচেয়ে বড় ফিবোনাচি সংখ্যা) সমর্থন করতে হবে।


লিডারবোর্ড

উত্তর:


48

পার্ল 6, 10 অক্ষর:

নামবিহীন অসীম ফিবোনাচি ক্রম তালিকা:

^2,*+*...*

একই রকম:

0, 1, -> $x, $y { $x + $y } ... Inf;

সুতরাং, আপনি এটি একটি অ্যারেরে নির্ধারণ করতে পারেন:

my @short-fibs = ^2, * + * ... *;

অথবা

my @fibs = 0, 1, -> $x, $y { $x + $y } ... Inf;

এবং প্রথম এগারোটি মান (0 থেকে 10 পর্যন্ত) এর সাথে পান:

say @short-fibs[^11];

বা সাথে:

say @fibs[^11];

অপেক্ষা করুন, আপনি বেনামে তালিকা থেকে নিজেই প্রথম 50 নম্বর পেতে পারেন:

say (^2,*+*...*)[^50]

যে ফিরে:

0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
10946 17711 28657 46368 75025 121393 196418 317811 514229 832040
1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169
63245986 102334155 165580141 267914296 433494437 701408733 1134903170 
1836311903 2971215073 4807526976 7778742049

এবং কিছু সাধারণ মানদণ্ড:

real    0m0.966s
user    0m0.842s
sys     0m0.080s

সঙ্গে:

$ time perl6 -e 'say (^2, *+* ... *)[^50]'

ফাইলের শেষে


আমি এমনকি ^2প্রতিস্থাপন হিসাবে চিন্তা করতে হবে না 0,1। +1
কনরাড বোরোস্কি 20

2
এই আর বৈধ, আপনি যেমন লিখতে হবে হবে |^2,*+*...*, যেমন বাইট একই সংখ্যক যা 0,1,*+*...*
ব্র্যাড গিলবার্ট বিবিগিল

5
পার্ল এত অদ্ভুত।
সাইয়েস

পার্ল 6 এর কোন সংস্করণে এই উত্তরটি লেখা হয়েছিল?
ক্যালকুলেটরফলাইন

3
@ ক্যালকুলেটরফলাইন জিএলআর (গ্রেট লিস্ট রিফ্যাক্টর) নামে পরিচিত একটি বড় পরিবর্তন হয়েছিল যা ২০১৫-১২-২৫-তে প্রথম সরকারী প্রকাশের কিছুক্ষণ আগে ঘটেছিল। এই কোডটি ঠিক ততক্ষণ অবধি কাজ করবে।
ব্র্যাড গিলবার্ট

73

ব্রেইনফাক, 22 স্ট্রোক

+>++[-<<[->+>+<<]>>>+]

ফিবোনাচি ক্রম উত্পন্ন করে ধীরে ধীরে মেমরি টেপ জুড়ে।


5
সুন্দর! সাহিত্যে সুন্দর! অথবা সম্ভবত না ... কোন পথে এই :) জন্য +1
প্রতি Hornshøj-Schierbeck

2
এটি সংকুচিত ব্রেনফাকের 3.344 বা 4 বাইট। (6 এলএন (22)) / এলএন (256)
শেরউড

24
16 বাইট:+[[<+>->+>+<<]>]
প্রিমো

3
14 বাইট:+[.[>+>+<<-]>]
চারিলিম

2
@ স্টেফনচ অবশ্যই সংক্ষিপ্ততরটি ধ্বংসাত্মক। উপরের সমাধানটি টেপের ফাইবোনাকির ক্রম দিয়ে শেষ হয়, যা 16 বাইট দ্রবণটি করে।
প্রিমো

51

হাস্কেল, 17 15 14 টি চর

f=1:scanl(+)1f

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


4
কেন দুটি জায়গার কাটবে না f=0:scanl(+)1 f?
আর মার্টিনহো ফার্নান্দেস

@ মার্টিনহো: সম্পাদিত, ধন্যবাদ
আনন

বাহ, এটি স্বাভাবিকের চেয়েও খাটো f@(_:x)=0:1:zipWith(+)f x! এটা মনে রাখতে হবে।
FUZxxl

4
এমনকি আপনি অন্য স্থান স্ট্রিপ করতে পারেন: f=0:scanl(+)1f
FUZxxl

37

সি # 4, 58 বাইট

স্ট্রিম (69 টিতে 65; দুর্বলভাবে টাইপ করলে IEnumerable)

(এর usingজন্য একটি নির্দেশনা অনুমান করা System.Collections.Generic।)

IEnumerable<int>F(){int c=0,n=1;for(;;){yield return c;n+=c;c=n-c;}}

একক মান (58)

int F(uint n,int x=0,int y=1){return n<1?x:F(n-1,y,x+y);}

6
দেওয়া হয়েছে যে nএকটি uint, n==0সংক্ষিপ্ত করা যেতে পারে n<1। এবং স্ট্রিমটি জেনেরিক টাইপের পরে স্পেসটি খনন করে এবং xপ্রয়োজনের চেয়ে আরও প্রশস্ত স্কোলে ঘোষণা করে কয়েকটি অক্ষর বাঁচাতে পারে । আসলে, xপুরোপুরি খাঁজ :n+=c;c=n-c;
পিটার টেলর

1
@ পিটার: ধন্যবাদ, আমি কিছুটা সময় পেলেই সম্পাদনা করব।
জন স্কিটে

আপনার একক মান সংস্করণটি যতক্ষণ আমার পুনরাবৃত্ত লাম্বদা অভিব্যক্তি উত্তর হিসাবে দীর্ঘ ... সুন্দর!
অ্যান্ড্রু গ্রে

1
@ wizzwizz4 যদি আমি ভুল না হয়ে থাকেন, যদি !nকাজ করে তবে ঠিক করা উচিত nযদি আপনি শর্তসাপেক্ষে উল্টে যান।
সাইয়েস

3
নিবন্ধন করুন এবং এখানে আমি ভাবছিলাম যে আমি সি
স্ক্রিনে জোন স্কিটকে

32

গল্ফস্ক্রিপ্ট, 12

এখন, মাত্র 12 টি অক্ষর!

1.{.@.p+.}do

+1 দুর্দান্ত কাজ। যদি আপনি এটিকে 13 টির চেয়ে বেশি সংক্ষিপ্ত করে তোলেন তবে আমি তাত্ক্ষণিকভাবে আপনার উত্তরটি গ্রহণ করব (যদি না কেউ এর চেয়ে আরও ছোট উত্তর দেয় তবে অবশ্যই)। :
ক্রিস জেস্টার-ইয়াং

1
আমি একটি চ্যালেঞ্জ ভালবাসি। সম্পন্ন! ;-)
jtjacques

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

5
সেই সংজ্ঞাটি নিজের নামে 'ফিবোনাচি' হিসাবে প্রায় সংক্ষিপ্ত! +1
এজেন্ট-জে

23

> <> - 15 টি অক্ষর

0:nao1v LF a+@:n:<o

আপনি চাইলে এটি সংক্ষিপ্ত করতে পারেন যদিও 0:nao1v LF a+@:n:<o। 15 দেয় :) আসলে, এটি আউটপুটটিকে আরও কিছুটা পাঠযোগ্য করে তোলে ...
7:30 এ টমসডিং

5
13 টি অক্ষর:01r:nao$:@+$r
এন্ড্রুডে 16:25 এ এলোমেলো

21

জে, 10 টি অক্ষর

টেলর সিরিজের সহগগুলির অন্তর্নির্মিত গণনাটি ব্যবহার করা যাতে খুব সামান্য প্রতারণাপূর্ণ হতে পারে। এটি এখানে শিখেছি ।

   (%-.-*:)t.

   (%-.-*:)t. 0 1 2 3 4 5 10 100
0 1 1 2 3 5 55 354224848179261915075

2
@aditsu (q:^-^:p) 6হয় 64 729যেখানে পি এমনকি হল। জে সম্ভবত এটি যে ধাঁধাগুলি করে তার জন্য ভাল । :)
এলোমেলো

2
আরও ভাল: (<:^-^:>) 4হয় 81এবং <:^-^:> 4হয় 53.5982
এলোমেলো

2
এখানে প্রকাশিত ইমোজিগুলিই সমস্ত জে কোডের দিকে চালিত হওয়া উচিত। পার্শ্ব নোটে, অন্য বিকল্পটি +/@:!&i.-9 বাইট ব্যবহার করছে।
মাইল

1
@ মাইলস খুব সুন্দর! আপনার এটি পোস্ট করা উচিত কারণ এটি আমার থেকে সম্পূর্ণ পৃথক।
এলোমেলো

21

হেক্সাগনি ,18 14 12

মার্টিনকে 6 বাইটের জন্য ধন্যবাদ!

1="/}.!+/M8;

সম্প্রসারিত:

  1 = "
 / } . !
+ / M 8 ;
 . . . .
  . . .

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


পুরানো, উত্তর। এটি রেখে দেওয়া হচ্ছে কারণ ছবিগুলি এবং ব্যাখ্যাটি নতুন হেক্সাগনি ব্যবহারকারীদের জন্য সহায়ক হতে পারে।

!).={!/"*10;$.[+{]

সম্প্রসারিত:

  ! ) .
 = { ! /
" * 1 0 ;
 $ . [ +
  { ] .

এটি নতুন লাইনের দ্বারা পৃথক করা ফিবোনাচি ক্রম মুদ্রণ করে।

এটি অনলাইন চেষ্টা করুন! সতর্কতা অবলম্বন করুন, অনলাইন অনুবাদক সত্যই অসীম আউটপুট পছন্দ করেন না।

ব্যাখ্যা

এই প্রোগ্রামটিতে দুটি "সাব্রোটাইনস" রয়েছে, প্রতিটি দুটি ব্যবহৃত দুটি আইপি দ্বারা চালিত হয়। প্রথম রুটিনটি নিউলাইনগুলি মুদ্রণ করে এবং দ্বিতীয়টি ফিবোনাকির গণনা এবং আউটপুট করে।

প্রথম সাব্রোটিন প্রথম লাইনে শুরু হয় এবং পুরো সময় বাম থেকে ডানে চলে আসে। এটি প্রথমে মেমরি পয়েন্টারে (শূন্য থেকে প্রারম্ভিক) মান মুদ্রণ করে এবং তারপরে মেমরি পয়েন্টারে মান বৃদ্ধি করে 1। নো-অপ্টের পরে, আইপি তৃতীয় লাইনে লাফ দেয় যা প্রথমে অন্য মেমরি কোষে স্যুইচ করে, তার পরে একটি নতুন লাইন প্রিন্ট করে। যেহেতু একটি নতুন লাইনের ইতিবাচক মান রয়েছে (এর মান 10), কোডটি সর্বদা পরবর্তী পঞ্চম লাইনে চলে যায়। পঞ্চম লাইনটি আমাদের ফিবোনাচি নম্বরটিতে মেমরি পয়েন্টারটি ফেরত দেয় এবং তারপরে অন্য সাবরোটিনে স্যুইচ করে। যখন আমরা এই সাবরুটাইন থেকে ফিরে আসি, আইপি কোনও তৃতীয় লাইনে ফিরে যাবে, কোনও অপশন চালানোর পরে।

দ্বিতীয় সাব্রোটিনটি ডান দিকের উপরের কোণে শুরু হয়ে দক্ষিণ-পূর্ব দিকে অগ্রসর হতে শুরু করে। কোনও অনির্বাণের পরে, আমাদের দ্বিতীয় লাইনের সাথে পশ্চিম দিকে ভ্রমণ করতে হবে। এই লাইনটি মেমোরি পয়েন্টারটিকে পরবর্তী অবস্থানে নিয়ে যাওয়ার আগে, বর্তমান ফিবোনাচি নম্বর মুদ্রণ করে। তারপরে আইপি চতুর্থ লাইনে যায়, যেখানে এটি আগের দুটি ব্যবহার করে পরবর্তী ফিবোনাচি নম্বরটি গণনা করে। এরপরে এটি প্রথম সাবরুটিনকে নিয়ন্ত্রণ ফিরিয়ে দেয়, তবে যখন এটি প্রোগ্রামটির নিয়ন্ত্রণ ফিরে পায়, এটি একটি লাফ না পাওয়া পর্যন্ত এটি চালিয়ে যায়, যেখানে এটি আয়নার উপরে উঠে আসে যা এটি পশ্চিম দিকে নির্দেশ করতে ব্যবহৃত হয়েছিল, কারণ এটি দ্বিতীয় লাইনে ফিরে আসে returns


প্রিলিমিনারি সুন্দর ছবি!

চিত্রের বাম দিকটি হল প্রোগ্রাম, ডান হাতটি স্মৃতিকে উপস্থাপন করে। নীল বাক্সটি প্রথম আইপি এবং উভয় আইপিই পরবর্তী নির্দেশ কার্যকর করার জন্য নির্দেশ করছে।

এখানে চিত্র বর্ণনা লিখুন

দ্রষ্টব্য: চিত্রগুলি কেবলমাত্র সেই সকল ব্যক্তির কাছেই সুন্দর দেখাতে পারে যাদের চিত্র সম্পাদনা প্রোগ্রামগুলির সাথে একইভাবে সীমিত দক্ষতা রয়েছে: পিআই কমপক্ষে আরও 2 টি পুনরাবৃত্তি যুক্ত করবেন যাতে *অপারেটরের ব্যবহার আরও স্পষ্ট হয়ে যায়।

দ্রষ্টব্য 2: আমি কেবল বেশিরভাগ লেখার পরে আলেফালফের উত্তরটি দেখেছি , আমি বুঝতে পেরেছিলাম যে এটি বিচ্ছিন্নতার কারণে এখনও মূল্যবান, তবে আমাদের প্রোগ্রামগুলির আসল ফিবোনাচি অংশগুলি খুব একই রকম। তদাতিরিক্ত, এটি হ'ল হেক্সাগনি প্রোগ্রাম যা আমি একাধিক আইপি ব্যবহার করতে দেখেছি, তাই আমি ভেবেছিলাম এটি যাইহোক রাখা ভাল হবে: পি


আপনি সুন্দর ছবিগুলি ব্যবহার করতে যা কিছু ব্যবহার করেছেন তার সাথে লিঙ্ক করা উচিত, তারপরে লিঙ্কটি esolangs.org/wiki/Hexagonyরাখুন
mbomb007

1
@ mbomb007 আমি প্রতিটি ফ্রেম ম্যানুয়ালি তৈরি করতে জিম ব্যবহার করেছি, তারপরে কিছু জিআইফ তৈরির ওয়েবসাইটে চিত্রগুলি আপলোড করেছি। যদিও, এই প্রক্রিয়া চলাকালীন বেশ কয়েকবার আমি এটি করার জন্য একটি সরঞ্জাম তৈরি করার বিষয়টি বিবেচনা করেছি, এটি কতটা ক্লান্তিকর ছিল তা বিবেচনা করে।
FryAmTheEggman 20'16

নিবন্ধন করুন এটি একটি চ্যালেঞ্জ করুন। আমি নিশ্চিত কেউ উত্তর পোস্ট করবে। : ডি এমনকি যদি আপনি মাছের অনলাইন অনুবাদকের মতো একই ওয়েবসাইট তৈরি করতে পারতেন তবে আরও ভাল।
mbomb007

@ mbomb007 এটি এই সাইটের কোনও চ্যালেঞ্জের জন্য উচ্চাচারী উচ্চাভিলাষী হতে পারে, এটি উল্লেখ না করার কারণ এটি সম্ভবত সত্যই বিস্তৃত হওয়ার ফলে অনেক বেশি ক্ষতিগ্রস্থ হবে। আমি মনে করি না যে আমি এটি পোস্ট করব, তবে যদি আপনি মনে করেন যে এটি উপস্থাপনের ভাল উপায় আছে তবে আপনি নিজেই এটি নির্দ্বিধায় করতে পারেন। এছাড়াও, আমি বিশ্বাস করি টিমভি হেক্সাগনির জন্য একটি # # আদর্শ তৈরি করেছিলেন, যদিও আমি এটি কখনও ব্যবহার করি নি কারণ আমি মনো মনোভাব নিয়ে বিরক্ত করি নি।
FryAmTheEggman

1
@ mbomb007 আদর্শ এখানে বাস করে , যাইহোক , গতবার এটি লিঙ্ক করতে ভুলে গেছে।
FryAmTheEggman

18

COW , 108

 MoO moO MoO mOo MOO OOM MMM moO moO
 MMM mOo mOo moO MMM mOo MMM moO moO
 MOO MOo mOo MoO moO moo mOo mOo moo

17

পাইথন 2, 34 বাইট

পাইথন, পুনরাবৃত্তি ব্যবহার করে ... এখানে একটি স্ট্যাকওভারফ্লো আসে!

def f(i,j):print i;f(j,i+j)
f(1,1)

15

জেলি , 3 বাইট

+¡1

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

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

+¡1    Niladic link. No implicit input.
       Since the link doesn't start with a nilad, the argument 0 is used.

  1    Yield 1.
+      Add the left and right argument.
 ¡     For reasons‡, read a number n from STDIN.
       Repeatedly call the dyadic link +, updating the right argument with
       the value of the left one, and the left one with the return value.

¡ বাম দিকে দুটি লিঙ্কে উঁকি দেয়। যেহেতু শুধুমাত্র একটি আছে, এটি লুপের বডি হতে হবে। অতএব, একটি সংখ্যা ইনপুট থেকে পঠিত হয়। যেহেতু কোনও কমান্ড-লাইন আর্গুমেন্ট নেই, সেই নম্বরটি STDIN থেকে পড়ে is


12

গল্ফস্ক্রিপ্ট - একক সংখ্যা - 12/11/10

স্টিডিন থেকে ইনপুট নেওয়ার জন্য 12 টি অক্ষর:

~0 1@{.@+}*;

ইতিমধ্যে স্ট্যাকের ইনপুট জন্য 11 টি অক্ষর:

0 1@{.@+}*;

1 টি 0 তম ফিবাওনাচি নম্বর হিসাবে আরও সংজ্ঞায়িত করার জন্য 10 টি অক্ষর:

1.@{.@+}*;

1
বিকল্পটি হ'ল "গণনা করা হয়, প্রদত্ত এন, n তম ফিবোনাকি নম্বর"। সুতরাং খনন করুন ~এবং আপনার 11 টি অক্ষর রয়েছে যা nস্ট্যাকটি নিয়ে যায় এবং স্ট্যাকটি ছেড়ে F_nযায়।
পিটার টেলর

12

চুনি

29 27 25 24 চারস

p a=b=1;loop{b=a+a=p(b)}

সম্পাদনা: এটিকে অসীম লুপ বানিয়েছে। ;)


13
কেউ কি খেয়াল করেছেন b=a+a=bযে একটি প্যালিনড্রোম? :)
st0le

2
হ্যাঁ st0le করেছেন :)
gnibbler

আমি জানি আমি পার্টিতে দেরি করেছি, তবে কেউ কীভাবে b=a+a=bঅংশটি কাজ করে তা ব্যাখ্যা করতে পারেন ? আমার মাথাটি এর চারপাশে জড়িয়ে আছে বলে মনে হচ্ছে না।
মিঃ লালমা

3
@ গিগা ওয়াট, এটিকে এভাবে ভাবুন, নির্দেশগুলি বাম থেকে ডান দিকে চালিত করা হবে ... সুতরাংnewb=olda+(a=oldb)
st0le

আপনি 2 অক্ষর ব্যবহার করে সংরক্ষণ করতে পারেন loop:p 1,a=b=1;loop{p b=a+a=b}
প্যাট্রিক অসিটি

11

গণিত, 9 টি চর

Fibonacci

যদি অন্তর্নির্মিত ফাংশনগুলির অনুমতি না দেওয়া হয় তবে এখানে একটি সুস্পষ্ট সমাধান দেওয়া হয়েছে:

গণিত, 33 32 31 অক্ষর

#&@@Nest[{+##,#}&@@#&,{0,1},#]&

#&@@Nest[{#+#2,#}&@@#&,{0,1},#]&32 অক্ষর।
চ্যানোগ

1
@ চ্যানোগ 31:#&@@Nest[{+##,#}&@@#&,{0,1},#]&
মিঃ উইজার্ড

1
@ মিঃ উইজার্ড 24 টি চর (26 বাইট):Round[GoldenRatio^#/√5]&
জংহওয়ান মিন

1
বা 23 টি চর (27 বাইট):Round[((1+√5)/2)^#/√5]&
জংহওয়ান মিন

10

ডিসি (20 বাইট)

বোনাস হিসাবে, এটি এমনকি নিবিড়;)

zzr[dsb+lbrplax]dsax

সম্পাদনা: আমি উল্লেখ করতে পারি যে এটি ফিবোনাচি অনুক্রমের সমস্ত সংখ্যা মুদ্রণ করে, যদি আপনি যথেষ্ট অপেক্ষা করেন।


13
আমি এটিকে অপ্রচলিত বলব না - অবফসকেটেড কোডটি বোঝা কঠিন বলে মনে করা হয়, এবং ডিসি যতদূর যায় এখানে কোডটি সম্পূর্ণ সোজা।
ন্যাব

10

প্রিলিওড , 12 বাইট

প্রিলিড আসলে কয়েকটি প্রতিযোগিতামূলক যেখানে কয়েকটি চ্যালেঞ্জগুলির মধ্যে একটি:

1(v!v)
  ^+^

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

ব্যাখ্যা

প্রিলিওডে, সমস্ত লাইনগুলি সমান্তরালে সম্পাদিত হয়, প্রোগ্রামটির নির্দেশিকা পয়েন্টার ট্র্যাভার্সিং কলামগুলির সাথে। প্রতিটি লাইনের নিজস্ব স্ট্যাক থাকে যা শূন্য থেকে শুরু করা হয়।

1(v!v)
  ^+^
| Push a 1 onto the first stack.
 | Start a loop from here to the closing ).
  | Copy the top value from the first stack to the second and vice-versa.
   | Print the value on the first stack, add the top two numbers on the second stack.
    | Copy the top value from the first stack to the second and vice-versa.

লুপটি চিরতরে পুনরাবৃত্তি করে, কারণ প্রথম স্ট্যাকটি কখনই 0শীর্ষে থাকবে না ।

নোট করুন যে এটি থেকে ফিবোনাচি ক্রম শুরু হয় 0


10

হেক্সাগনি , 6 বাইট

প্রতিযোগিতা না করা কারণ ভাষা প্রশ্নের চেয়ে নতুন is

1.}=+!

Ungolfed:

  1 .
 } = +
  ! .

এটি কোনও বিভাজনকারী ছাড়াই ফিবোনাচি সিকোয়েন্সটি মুদ্রণ করে।


2
এটিতে সামান্য সমস্যা রয়েছে যে এটি সংখ্যার মধ্যে কোনও বিভাজক মুদ্রণ করে না। যদিও চ্যালেঞ্জে এটি পুরোপুরি ভালভাবে নির্দিষ্ট করা হয়নি। (এবং আমি সত্যিই খুশি যে কেউ হেক্সাগনি ব্যবহার করছে :) :))
মার্টিন এন্ডার

9

টিআই-বেসিক, ১১

কিংবদন্তি টিআই-বেসিক গল্ফার কেনেথ হ্যামন্ড ("ওয়েরেগুজ") দ্বারা, এই সাইট থেকে । ও (1) সময়ে সঞ্চালিত হয় এবং 0 টি ফিবোনাচি অনুক্রমের 0 র্থ পদ হিসাবে বিবেচনা করে।

int(round(√(.8)cosh(Anssinh‾¹(.5

ব্যবহার করা:

2:int(round(√(.8)cosh(Anssinh‾¹(.5
                                     1

12:int(round(√(.8)cosh(Anssinh‾¹(.5
                                     144

কিভাবে কাজ করে? আপনি যদি গণিত করেন তবে এটি sinh‾¹(.5)সমান হয় ln φ, তাই এটি বিনেটের সূত্রের একটি সংশোধিত সংস্করণ যা (1/φ)^nসংশোধন শব্দটি ব্যবহার না করে গোল হয়ে যায় । round((9 দশমিক স্থানে বৃত্তাকার) রাউন্ডইং ত্রুটি প্রতিরোধ প্রয়োজন হয়।


8

কে - 12

nএবং n-1ফিবোনাচি নম্বর গণনা করে ।

{x(|+\)/0 1}

শুধু nthফিবোনাচি নম্বর।

{*x(|+\)/0 1}

+1 খারাপ না! আপনি যদি এটি কেবল একটি চরিত্র সঙ্কুচিত করতে পারেন (এবং আমাকে এটির পরীক্ষা করার একটি উপায় সরবরাহ করেন), আমি আপনার উত্তরটি গ্রহণ করব। :-)
ক্রিস জেস্টার-ইয়ং

এটি সঙ্কুচিত করার একমাত্র উপায় হ'ল ফাংশনটি একটি পরিচিত নাম্বারে কল দিয়ে প্রতিস্থাপন করা হবে: এন (| + \) / 0 1 এই দোভাষীটি ব্যবহার করে এটি পরীক্ষা করুন ।
isawdrones


7

জাভা, 55

আমি এখানে বেশিরভাগ ভাষার সংক্ষিপ্ততার সাথে প্রতিযোগিতা করতে পারি না, তবে আমি এন-তম সংখ্যা গণনা করার জন্য যথেষ্ট আলাদা এবং সম্ভবত আরও দ্রুত (ধ্রুবক সময়) উপায়ে দিতে পারি:

Math.floor(Math.pow((Math.sqrt(5)+1)/2,n)/Math.sqrt(5))

nএনপুট (এনট বা দীর্ঘ), এন = 1 দিয়ে শুরু হয়। এটি বিয়োগের সূত্র এবং বিয়োগের পরিবর্তে রাউন্ডগুলি ব্যবহার করে।


আমি এই সমাধানটি পছন্দ করি
Andreas ২

এটি আমার পক্ষে কাজ করে বলে মনে হচ্ছে না, তবে এটি খুব তাড়াতাড়ি এবং আমার কিছু অনুপস্থিত হতে পারে! 0অনুক্রমের প্রথম সংখ্যা হিসাবে ধরে নেওয়া , 0, 0, 1, 1, 3, 4, 8, 12, 21, 33এটি প্রথম 10 সংখ্যার জন্য দেয়
শেগি

@ শেগি উফ! দুঃখিত, আমি একটি বাগ প্রবর্তন করেছি - এখনই ঠিক করা হয়েছে।
হ্যান্স-পিটার স্টার

6

রুবি, 25 টি অক্ষর

st0le এর উত্তর সংক্ষিপ্ত করা হয়েছে।

p 1,a=b=1;loop{p b=a+a=b}

6
প্রকৃতপক্ষে আপনি এটিকে আরও ব্যবহার করে আরও ছোট করতে পারেনa=b=1;loop{p a;b=a+a=b}
ভেন্টোরো

6
সুতরাং আপনি তার উত্তর st0le? : পি
mbomb007

6

এফএসি: কার্যকরী এপিএল, 4 টি অক্ষর (!!)

আমার নয়, সুতরাং সম্প্রদায় উইকি হিসাবে পোস্ট করা হয়েছে। এফএসি এপিএলের একটি উপভাষা যা হাই-চেন তু সম্ভবত ১৯৮৫ সালে তাঁর পিএইচডি গবেষণামূলক প্রবন্ধ হিসাবে প্রস্তাব করেছিলেন। পরে তিনি অ্যালান জে পেরিলিসের সাথে " এফএসি: একটি ফাংশনাল এপিএল ভাষা " নামে একটি নিবন্ধ লিখেছিলেন । এপিএলের এই উপভাষাটি "অলস অ্যারে" ব্যবহার করে এবং অসীম দৈর্ঘ্যের অ্যারেগুলিকে অনুমতি দেয়। এটি একটি অপারেটরকে "ইটার" ( ) সংজ্ঞায়িত করে কিছু পুনরাবৃত্ত ক্রমগুলির সংক্ষিপ্ত সংজ্ঞায়িত করার অনুমতি দেয়।

মোনাদিক ("unary") কেসটি মূলত হাস্কেলের iterate, এবং হিসাবে সংজ্ঞায়িত করা হয়েছে (F⌼) A ≡ A, (F A), (F (F A)), …। Dyadic ( "বাইনারি") ক্ষেত্রে দুটি ভেরিয়েবল জন্য অনুরূপভাবে কিছুটা সংজ্ঞায়িত করা হয়: A (F⌼) B ≡ A, B, (A F B), (B F (A F B)), …। কেন এটি দরকারী? ঠিক আছে, এটি হিসাবে দেখা যাচ্ছে এটি ঠিক ফিবোনাচি ক্রমের পুনরাবৃত্তির ধরণ। আসলে, এর দেওয়া উদাহরণগুলির মধ্যে একটি

1+⌼1

পরিচিত ক্রম উত্পাদন 1 1 2 3 5 8 …

সুতরাং, আপনি সেখানে যান, একটি অ-অভিনবত্ব প্রোগ্রামিং ভাষায় খুব সম্ভবত সংক্ষিপ্ততম ফিবোনাচি বাস্তবায়ন। : ডি


ওহ, আমি দুর্ঘটনাক্রমে আমার (ম্যানুয়াল) বাল্ক-আনউইকিংয়ের অংশ হিসাবে আপনার পোস্টটিকে অ-সম্প্রদায়-উইকিয়েড করেছি। আচ্ছা ভালো. ;-)
ক্রিস জেস্টার-ইয়ং



6

ডোডোস , 26 বাইট

	dot F
F
	F dip
	F dip dip

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

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

ফাংশন এফ সমস্ত ভারী উত্তোলন করে; এটি নীচে পুনরাবৃত্তভাবে সংজ্ঞায়িত করা হয়।

F(n) = ( F(|n - 1|), F(||n - 1| - 1|) )

যখনই এন> 1 , আমাদের | এন - 1 | = এন - 1 <এন এবং || এন - 1 | - 1 | = | এন - 1 - 1 | = n - 2 <n , সুতরাং ফাংশনটি (এফ (এন - 1), এফ (এন - 2)) ফেরায়

যদি এন = 0 হয় , তবে | এন - 1 | = 1> 0 ; যদি এন = 1 হয় , তবে || এন - 1 | - 1 | = | 0 - 1 | | = 1 = 1 । উভয় ক্ষেত্রেই, চেষ্টা recursive কল এফ (1) একটি বাড়াতে সারেন্ডার তাই হয়, ব্যতিক্রম এফ (0) ফেরৎ 0 এবং এফ (1) ফেরৎ 1

উদাহরণস্বরূপ, এফ (3) = (এফ (1), এফ (2)) = (1, এফ (0), এফ (1)) = (1, 0, 1)

অবশেষে, মূল ফাংশন হিসাবে সংজ্ঞায়িত করা হয়

main(n) = sum(F(n))

সুতরাং এটি এফ দ্বারা ফিরিয়ে দেওয়া ভেক্টরের সমস্ত স্থানাঙ্ক যুক্ত করে ।

উদাহরণস্বরূপ, প্রধান (3) = সমষ্টি (এফ (3)) = সমষ্টি (1, 0, 1) = 2



5

দেশমস , 61 বাইট

Golfed

জন্য add sliderবোতামটি ক্লিক করুন n

p=.5+.5\sqrt{5}
n=0
f=5^{-.5}\left(p^n-\left(-p\right)^{-n}\right)

শেষ লাইনটি আউটপুট।

Ungolfed

একটি ফাংশন।

\phi =\frac{1+\sqrt{5}}{2}
f_{ibonacci}\left(n\right)=\frac{\phi ^n-\left(-\phi \right)^{-n}}{\sqrt{5}}

5

কিউবিক্স , 10 বাইট

অ প্রতিযোগিতামূলক উত্তর কারণ ভাষা প্রশ্নের চেয়ে নতুন the

কিউবিক্স একটি নতুন 2 টি মাত্রিক ভাষা যা EE টি প্রোডাকশন দ্বারা কোডটি ফিট করার জন্য একটি ঘনক্ষেতের উপরে আবৃত ছিল।

;.o.ON/+!)

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

এইটি নিম্নলিখিত পদ্ধতিতে 2 x 2 কিউবে জড়িয়ে দেয়

    ; .
    o .
O N / + ! ) . .
. . . . . . . .
    . .
    . .
  • O টিওএসের মান আউটপুট করুন
  • N স্ট্যাকের উপরে নিউলাইনটিকে ধাক্কা দিন
  • / উত্তর প্রতিফলিত করুন
  • o টিওএস এর অক্ষর আউটপুট
  • ; পপ টিওএস
  • / ঘনক্ষেত্রের কাছাকাছি যাওয়ার পরে পূর্ব প্রতিফলিত করুন
  • + স্ট্যাকের শীর্ষ 2 মান যুক্ত করুন
  • ! TOS 0 হলে পরবর্তী কমান্ডটি এড়িয়ে যান
  • ) 1 টিওএস দ্বারা বৃদ্ধি করুন। এটি মূলত ক্রমটি বন্ধ করে দেয়।

এটি একটি অন্তহীন লুপ যা একটি নিউলাইন বিভাজক সহ ক্রমটি প্রিন্ট করে। এটি বেশিরভাগ কমান্ড স্ট্যাক থেকে মানগুলি পপ করে না এমনটি গ্রহণ করে।
বিভাজকটিকে যদি উপেক্ষা করা হয় তবে এটি 5 বাইট দিয়ে করা যেতে পারে.O+!)


5

ব্রেইনফাক , 16,15, 14/13 অক্ষর

+[[->+>+<<]>]  

ফিবোনাচি সিকোয়েন্স তৈরি করে এবং কোনও কিছুই মুদ্রণ করে না। এছাড়াও, উপরের তুলনায় ছোট।

+[.[->+>+<<]>]   

এটির 14 টি অক্ষর রয়েছে তবে ফিবোনাচি অনুক্রমের মানগুলি সহ ASCII অক্ষরগুলি মুদ্রণ করে।


1
এটি ভাল, তবে আমি কি এই বলে ভুল করব যে 14 বাইট সংস্করণটি কেবল ২ য় 1 থেকে আউটপুট হবে? যেমন "1 1 2 3 5 8" এর পরিবর্তে "1 2 3 5 8"?
চারিলি

1
@ চার্লিম ওহ, আপনি ঠিক বলেছেন ২০১৪ সালের আমাকে কী ভেবেছিল তা আমার কোনও ধারণা নেই। যাইহোক, আমি মুদ্রণ নির্দেশটি লুপের সামনের দিকে সরিয়ে এটি ঠিক করেছি।
স্টেফনচ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.