কম্পিউটার টিউটোরিয়াল

পাইথনে দুটি পয়েন্টের মাঝপথে ইন্টিজার কোঅর্ডিনেটের সংখ্যা বের করা

দুটি পয়েন্ট (p1, q1) এবং (p2, q2) দেওয়া আছে। এই দুটি পয়েন্টকে যোগ করে সরাসরি রেখা আঁকলে সেটিতে কতটি ইন্টিজার কোঅর্ডিনেট (x, y দুটোই ইন্টিজার) পড়ে তা বের করতে হবে।

উদাহরণ

ইনপুট: p1 = 3, q1 = 3, p2 = 6, q2 = 6

আউটপুট: 2

রেখায় (5,5) এবং (6,6) ইন্টিজার পয়েন্ট আছে।

সমাধান পদ্ধতি

  1. gcd_find(x, y) ফাংশন ডিফাইন করুন (ইউক্লিডিয়ান অ্যালগরিদম)।
  2. মূল ফাংশন থেকে রিটার্ন gcd_find(|p2-p1|, |q2-q1|) - 1

তত্ত্ব: দুটি ল্যাটিস পয়েন্টের মাঝপথে ইন্টিজার পয়েন্টের সংখ্যা = GCD(|Δx|, |Δy|) - 1।

পাইথন ইমপ্লিমেন্টেশন

def gcd_find(x, y):
    if y == 0:
        return x
    return gcd_find(y, x % y)

def solve(p1, q1, p2, q2):
    return gcd_find(abs(p2 - p1), abs(q2 - q1)) - 1

# টেস্ট
print(solve(3, 3, 6, 6))  # আউটপুট: 2

ইনপুট

3,3,6,6

আউটপুট

2
  1. পাইথনে দুটি পয়েন্টের মধ্যবর্তী সবচেয়ে চওড়া ভার্টিকেল এলাকা খুঁজে বের করার প্রোগ্রাম

  2. Python প্রোগ্রাম: دوটি প্রদত্ত তারিখের মাঝপথে দিনের সংখ্যা বের করা

  3. দুই স্পার্স ভেক্টরের ডট প্রোডাক্ট বের করার পাইথন প্রোগ্রাম

  4. গোডাউনে বাম থেকে ডানে বক্স রাখার প্রোগ্রাম