ফিবোনাচি যথার্থতার সাথে ফি এর শক্তি প্রদর্শন করুন


9

কিছু কোড যা একটি একক অ নেতিবাচক পূর্ণসংখ্যা লাগে লিখুন এন এবং আউটপুট n তম যেমন দশমিক সংখ্যা একই সংখ্যক সঙ্গে phi -এর শক্তি (φ, গোল্ডেন অনুপাত প্রায় 1.61803398874989) n তম ফিবানচি সংখ্যা।

আপনার কোডে কমপক্ষে 10 (55 দশমিক অঙ্ক) পর্যন্ত সমস্ত ইনপুটগুলির জন্য অঙ্কের সঠিক ক্রম অবশ্যই তৈরি করতে হবে। আউটপুট অবশ্যই মানব-পঠনযোগ্য দশমিক হতে হবে। আপনি সর্বশেষের নিকটতম মানটির সাথে গোল করতে হবে বা মানটি কেটে ফেলতে পারবেন কিনা তা চয়ন করতে পারেন। আপনার কোডটি কোনটি ব্যবহার করে দয়া করে তা নির্দিষ্ট করুন।

এন এবং আউটপুট, 10 অবধি, গোলাকার:

 0   1
 1   1.6
 2   2.6
 3   4.23
 4   6.854
 5  11.09016
 6  17.94427190
 7  29.0344418537486
 8  46.978713763747791812296
 9  76.0131556174964248389559523684316960
10 122.9918693812442166512522758901100964746170048893169574174

n এবং আউটপুট, 10 পর্যন্ত, নিকটতম মানটির সাথে গোল করে:

 0   1
 1   1.6
 2   2.6
 3   4.24
 4   6.854
 5  11.09017
 6  17.94427191
 7  29.0344418537486
 8  46.978713763747791812296
 9  76.0131556174964248389559523684316960
10 122.9918693812442166512522758901100964746170048893169574174

সপ্তম ফিবোনাচি সংখ্যা 13, সুতরাং এন = 7, ϕ 7 এর আউটপুটটিতে 13 দশমিক স্থান রয়েছে। আপনাকে অবশ্যই অনুসরণযোগ্য শূন্যগুলি কেটে ফেলতে হবে না যা খুব অল্প সংখ্যক প্রদর্শন করবে; প্রথম টেবিলের 6 টির জন্য আউটপুট দেখুন, যা দশমিক দশমিক স্পষ্টতা আট অঙ্কে রাখতে একক শূন্যে শেষ হয়।

হতে পারে বোনাস হিসাবে, আপনার প্রোগ্রামটি সঠিকভাবে আউটপুট সবচেয়ে বেশি সংখ্যক বলতে পারেন say


সেই দশমিক যে জায়গাগুলি হ্যান্ডেল করতে পারে না সেগুলি সম্পর্কে কী? আমি এখানে একটি 24 বাইট পাইথ সলিউশন পেয়েছি যা কেবলমাত্র এন = 7 পর্যন্ত কাজ করে, যেহেতু আমি 15 দশমিকেরও বেশি জায়গা প্রদর্শন করতে পারি না। আমার কি এটি পোস্ট করা উচিত?
ডেনকার

@ ডেনারএফে শ্যুর, আপনি এটি পোস্ট করতে পারেন তবে একটি নোট দিয়ে বলেছেন যে এটি বৈধ নয় কারণ এটি শেষ তিনটি পরীক্ষার মামলা করতে পারে না। আপনার উত্তরে নির্ভুলতা যুক্ত করা কারও পক্ষে অনুপ্রেরণা হতে পারে!
সিজে ডেনিস

উত্তর:


3

ডিসি, 26 বাইট

99k5v1+2/?^d5v/.5+0k1/k1/p

কমা পরে 99 অঙ্কের প্রাথমিক নির্ভুলতার কারণে, এটি ইয়ো ইনপুট 11 এ কাজ করবে । একটি গতিশীল (বা উচ্চতর স্থিতিশীল) যথার্থতা পাওয়া সম্ভব তবে বাইটের গণনাটি বাড়িয়ে তুলবে।

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

$ for ((i = 0; i < 11; i++)) { dc -e '99k5v1+2/?^d5v/.5+0k1/k1/p' <<< $i; }
1
1.6
2.6
4.23
6.854
11.09016
17.94427190
29.0344418537486
46.978713763747791812296
76.0131556174964248389559523684316960
122.9918693812442166512522758901100964746170048893169574174

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

যেহেতু কাঙ্ক্ষিত আউটপুটটি φ n , তাই আমরা অতিরিক্ত অতিরিক্ত পরিশ্রম করে ফিবোনাচি নম্বর F (n) ⌊φ n ÷ √5 + 0.5⌋ হিসাবে গণনা করতে পারি ।

99k                         Set the precision to 99.
   5v                       Compute the square root of 5.
     1+                     Add 1.
       2/                   Divide by 2.
                            This pushes the golden ratio.
         ?                  Read the input from STDIN.
          ^                 Elevate the golden ratio to that power.
           d                Push a copy.
            5v/             Divide it by the square root of 5.
               .5+          Add 0.5.
                  0k        Set the precision to 0.
                    1/      Divide by 1, truncating to the desired precision.
                            This pushes F(n).
                      k     Set the precision to F(n).
                       1/   Divide by 1, truncating to the desired precision.
                         p  Print.

0

গণিত, 50 বাইট

N[GoldenRatio^#,2^#]~NumberForm~{2^#,Fibonacci@#}&

বেসিক সমাধান। নিকটতম মানকে গোল করে। এখনও সর্বোচ্চ মান যাচাই করা যা আমার কম্পিউটারকে মেমরির বাইরে চলে না। ইনপুট32 কাজ করে, তবে এটি 45 মিনিট সময় নেয় এবং 16 গিগাবাইট র‌্যাম ব্যবহার করে। যাইহোক, অসীম সময় এবং মেমরি প্রদত্ত, এটি তাত্ত্বিকভাবে কোনও মূল্যের জন্য চলতে পারে।


1
আপনি কি আউটপুট পোস্ট করবেন? আমাকে শেষ কয়েক পরীক্ষার কেস যুক্ত করতে আপনার প্রতারণা করতে এবং আউটপুট ব্যবহার করতে হবে। আপনি কোন উপায়ে গোল করছেন? নিচে নাকি নিকটতম? "অসীম সংস্থানগুলি" যথেষ্ট ভাল। আপনার স্মৃতি শেষ হওয়ার দরকার নেই!
সিজে ডেনিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.