ধরুন আমাদের দুটি সংখ্যা p এবং q আছে, আমাদেরকে p এবং q এর স্থানান্তরিত অসীম টেবিলে যেকোনো পদের মধ্যে ন্যূনতম পার্থক্য খুঁজে বের করতে হবে, এই স্থানান্তরগুলি হল r এবং s, যেখানে r, s>=0।
সুতরাং, যদি ইনপুট হয় p =7 এবং q =17, r =6 এবং s =3, তাহলে আউটপুট হবে 0 হিসাবে, 7 এর টেবিল =[7, 14, 21, 28, 35, 42, 49, ...] এবং 17 এর টেবিল =[17, 34, 51, 68, 85, 102, 119, ...], তারপর 7 এর স্থানান্তরিত টেবিলটি হবে [13, 20, 27, 34, 41, 48, 55 , ...] এবং 17 এর স্থানান্তরিত টেবিল হবে [20, 37, 54, 71, 88, 105, 121, ...], তাহলে এই স্থানান্তরিত টেবিলের দুটি পদের মধ্যে ন্যূনতম পার্থক্য হল 20-20 =0।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
g :=(p, q)
এর gcd -
পার্থক্য :=|r-s| মোড জি
-
ন্যূনতম পার্থক্য এবং g - পার্থক্য ফেরত দিন
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
import math def get_minimum_diff (p, q, r, s): g = math.gcd(p,q) difference = abs(r-s) % g return min(difference, g - difference) p = 7 q = 17 r = 6 s = 3 print(get_minimum_diff(p, q, r, s))
ইনপুট
7,17,6,3
আউটপুট
0