:tt!/XR6#uG))
এটি অনলাইন চেষ্টা করুন! বা সমস্ত পরীক্ষার কেস যাচাই করুন ।
ভাসমান পয়েন্ট নির্ভুলতার দ্বারা ইনপুট আকার সীমাবদ্ধ হতে পারে। সমস্ত পরীক্ষার কেস সঠিক ফলাফল দেয়।
ব্যাখ্যা
এই সব ভগ্নাংশ উত্পন্ন k/m
সঙ্গে k
, m
মধ্যে [1 2 ...n]
, একটি হিসাবে n
× n
ম্যাট্রিক্স। সারিটি সংখ্যককে নির্দেশ করে এবং কলামটি ডিনোমিনেটরকে নির্দেশ করে। প্রকৃতপক্ষে ম্যাট্রিক্স এন্ট্রিতে বিপরীত ভগ্নাংশটি m/k
পরিবর্তে রয়েছে k/m
তবে এটি অপ্রাসঙ্গিক এবং বাকী ব্যাখ্যায়ও তা উপেক্ষা করা যায়।
ম্যাট্রিক্স এন্ট্রিগুলি স্পষ্টভাবে কলাম-প্রধান ক্রমে সাজানো হিসাবে বিবেচিত হয়। এই ক্ষেত্রে এটি প্রয়োজনীয় আদেশের সাথে মিলে যায়: ডিনোমিনেটর, তার পরে অঙ্ক ume
এই ম্যাট্রিক্স থেকে তিন ধরণের এন্ট্রি উপেক্ষা করা দরকার:
- এন্ট্রি
k/m
, k>m
একটি পূর্ববর্তী এন্ট্রি মানের সমান আছে (উদাহরণস্বরূপ, 2/4
অবহেলিত কারণ এটি হিসাবে একই 1/2
)
- এন্ট্রি
k/k
, k>1
। প্রবেশদ্বারগুলিতে ডিনোমিনেটর ছাড়িয়ে একটি সংখ্যা রয়েছে
- এন্ট্রি
k/m
, k<m
(এগুলি সমস্যার অংশ নয়)।
এন্ট্রি উপেক্ষা একটি unique
ফাংশন দিয়ে সম্পন্ন হয় , যা স্থিরভাবে সদৃশ মানগুলি সরিয়ে দেয় এবং বেঁচে থাকা এন্ট্রিগুলির সূচকগুলি আউটপুট করে। এটির সাহায্যে উপরের 1 ধরণের এন্ট্রি স্বয়ংক্রিয়ভাবে সরানো হবে। 2 এবং 3 প্রকারের সাথে কাজ করার জন্য, তির্যক এবং নীচে ম্যাট্রিক্স এন্ট্রি সেট করা আছে 0
। এইভাবে, প্রথম (বৈধ ভগ্নাংশের সাথে সম্পর্কিত 1/1
) বাদে সমস্ত শূন্য এন্ট্রি সরানো হবে ।
4
উদাহরণ হিসাবে ইনপুট বিবেচনা করুন ।
: % Input n implicitly. Push range [1 2 ...n]
% STACK: [1 2 3 4]
t % Duplicate
% STACK: [1 2 3 4], [1 2 3 4]
t! % Duplicate and transpose
% STACK: [1 2 3 4], [1 2 3 4], [1; 2; 3; 4]
/ % Divide element-wise with broadcast: gives matrix with all pairs
% STACK: [1 2 3 4], [1 2 3 4;
0.5000 1 1.5000 2;
0.3333 0.6667 1 1.3333;
0.2500 0.5000 0.7500 1 ]
XR % Upper triangular part above the diagonal. This sets to 0 all entries
% corresponding to fractions that equal or exceed 1. (Since the matrix
% actually contains the inverse fractions, nonzero entries will contain
% values greater than 1)
% STACK: [1 2 3 4], [0 2 3 4;
0 0 1.5000 2;
0 0 0 1.3333;
0 0 0 0 ]
6#u % Indices of first appearance of unique elements
% STACK: [1 2 3 4], [1; 5; 9; 10; 13; 15]
G % Push input n again
% STACK: [1 2 3 4], [1; 5; 9; 10; 13; 15], 4
) % Index: get the n-th entry from the array of indices of unique elements
% STACK: [1 2 3 4], 10
) % Index (modular): get the corresponding real part. Display implicitly
% STACK: 2