দুটি ধনাত্মক পূর্ণসংখ্যা X এবং Y-এর প্রারম্ভিক মান দেওয়া থাকলে, নিচের পরিবর্তন অনুযায়ী X এবং Y-এর চূড়ান্ত মান বের করতে হবে:
স্টেপ ১: যদি X = 0 এবং Y = 0 হয়, প্রক্রিয়া বন্ধ, অন্যথায় স্টেপ ২-এ যাওয়া।
স্টেপ ২: যদি X >= 2Y হয়, তবে X = X - 2Y সেট করে স্টেপ ১-এ যাওয়া, অন্যথায় স্টেপ ৩-এ যাওয়া।
স্টেপ ৩: যদি Y >= 2X হয়, তবে Y = Y - 2X সেট করে স্টেপ ১-এ যাওয়া, অন্যথায় প্রক্রিয়া শেষ।
X এবং Y-এর মান [0, 10¹⁸] রেঞ্জে থাকবে, তাই ব্রুট ফোর্স (brute force) পদ্ধতি ব্যবহার করা যাবে।
উদাহরণ
#include<iostream> using namespace std; void alterNumber(long long x, long long y) { while (1) { if (x == 0 || y == 0) break; if (x >= 2 * y) x = x % (2 * y); else if (y >= 2 * x) y = y % (2 * x); else break; } cout << "X: " << x << "\n" << "Y: " << y; } int main() { long long x = 12, y = 5; alterNumber(x, y); } আউটপুট
X: 0 Y: 1