গণিতে, পার্থক্য গণনা করার জন্য প্রদত্ত সম্পর্কের ধরণের (লিনিয়ার, চতুর্ভুজ ইত্যাদি) কী তা বোঝার এক উপায়। এটি করার জন্য আপনি y মানগুলির একটি তালিকা নিয়েছেন যার জন্য সংবাদদাতা x মানগুলির মধ্যে ব্যবধানটি একই, এবং উপরের সংখ্যা থেকে প্রত্যেককে বিয়োগ করুন, তারপরে আগের তালিকাটির চেয়ে আরও ছোট সংখ্যার একটি তালিকা তৈরি করুন। যদি ফলাফলের তালিকাটি সম্পূর্ণরূপে অভিন্ন সংখ্যার সমন্বয়ে গঠিত হয়, তবে সম্পর্কের ক্ষেত্রে 1 এর পার্থক্য রয়েছে (এটি লিনিয়ার)। যদি সেগুলি অভিন্ন না হয়, তবে আপনি নতুন তালিকায় প্রক্রিয়াটি পুনরাবৃত্তি করুন। যদি তারা এখন অভিন্ন হয় তবে সম্পর্কের মধ্যে 2 এর পার্থক্য রয়েছে (এটি চতুর্ভুজযুক্ত)। যদি সেগুলি অভিন্ন না হয় তবে আপনি কেবল না হওয়া পর্যন্ত এই প্রক্রিয়াটি কেবল চালিয়ে যান। উদাহরণস্বরূপ, ক্রমবর্ধমান এক্স মানগুলির জন্য যদি আপনার y মানগুলির [1,6,15,28,45,66] তালিকা থাকে:
First Differences:
1
6 1-6 =-5
15 6-15 =-9
28 15-28=-13
45 28-45=-17
66 45-66=-21
Second differences:
-5
-9 -5+9 =4
-13 -9+13 =4
-17 -13+17=4
-21 -17+21=4
As these results are identical, this relation has a difference of 2
তোমার কাজ:
একটি প্রোগ্রাম বা ফাংশন লিখুন, যখন ইনপুট হিসাবে পূর্ণসংখ্যার অ্যারে দেওয়া হয়, উপরে বর্ণিত হিসাবে অ্যারের দ্বারা বর্ণিত সম্পর্কের পার্থক্যটি প্রদান করে।
ইনপুট:
পূর্ণসংখ্যার একটি অ্যারে, যে কোনও দৈর্ঘ্যের হতে পারে> 1।
আউটপুট:
একটি পূর্ণসংখ্যা ইনপুট দ্বারা বর্ণিত সম্পর্কের পার্থক্যের প্রতিনিধিত্ব করে।
পরীক্ষার কেস:
Input => Output
[1,2,3,4,5,6,7,8,9,10] => 1
[1,4,9,16,25,36] => 2
[1,2,1] => 2 (when there is only one value left, all values are automatically identical, so the largest difference an array can have is equal to the length of the array-1)
"Hello World" => undefined behavior (invalid input)
[1,1,1,1,1,1,1,1,1] => 0 (all elements are already identical)
[1, 3, 9, 26, 66, 150, 313, 610] => 6
স্কোরিং:
এটি কোড-গল্ফ , প্রতিটি ভাষার বাইটে সর্বনিম্ন স্কোর সেই ভাষার জন্য। সর্বনিম্ন স্কোর সবুজ চেকমার্ক পায়।
[1,2,1]
2 দেওয়া উচিত নয় ? [1,2,1] -> [1,-1] -> [-2]
[1,3,9,26,66,150,313,610]
6