দুটির চেয়ে বেশি সংখ্যার GCD বের করার জাভা প্রোগ্রাম নিচে দেওয়া হলো:
উদাহরণ
public class Demo{ static int gcd_of_nums(int val_1, int val_2){ if (val_1 == 0) return val_2; return gcd_of_nums(val_2 % val_1, val_1); } static int find_gcd(int arr[], int no){ int result = arr[0]; for (int i = 1; i < no; i++){ result = gcd_of_nums(arr[i], result); if(result == 1){ return 1; } } return result; } public static void main(String[] args){ int my_arr[] = { 7, 49, 177, 105, 119, 42}; int no = my_arr.length; System.out.println("The GCD of the elements in the array is "); System.out.println(find_gcd(my_arr, no)); } }আউটপুট
The GCD of the elements in the array is 1
Demo ক্লাসে একটি main ফাংশন আছে যা দুটি মান নেয়। যদি প্রথম মান ০ হয়, দ্বিতীয় মান আউটপুট হিসেবে রিটার্ন করা হয়। অন্যথায়, একটি রিকার্সিভ ফাংশন লেখা হয়েছে যা দুটি এলিমেন্টের মহত্তম সাধারণ ভাজক কম্পিউট করে।
এরপর, আরেকটি স্ট্যাটিক ফাংশন সংজ্ঞায়িত করা হয়েছে যা একটি অ্যারে এবং আরেকটি ইন্টিজার মান প্যারামিটার হিসেবে নেয়। অ্যারের প্রথম এলিমেন্টটি 'result' নামক একটি ভেরিয়েবলে অ্যাসাইন করা হয়েছে এবং একটি 'for' লুপ ১ থেকে প্যারামিটার হিসেবে পাস করা ইন্টিজার মান পর্যন্ত এলিমেন্টের ওভার ইটেরেট করে। এই অ্যারে এলিমেন্ট এবং একটি রেজাল্টের ওপর মহত্তম সাধারণ ভাজক ফাংশন কল করা হয়েছে। এই আউটপুট 'result' ভেরিয়েবলে অ্যাসাইন করা হয়েছে। যদি 'result' এর মান ১ হয়, তবে আউটপুট ১, অন্যথায় 'result' এর মান রিটার্ন করা হয়।
main ফাংশনে, একটি ইন্টিজার অ্যারে সংজ্ঞায়িত করা হয়েছে এবং অ্যারের দৈর্ঘ্য একটি নির্দিষ্ট ভেরিয়েবলে অ্যাসাইন করা হয়েছে। অ্যারে এলিমেন্ট ও দৈর্ঘ্যের ওপর মহত্তম সাধারণ ভাজক ফাংশন কল করা হয়েছে। প্রাসঙ্গিক ডেটা কনসোলে প্রদর্শন করা হয়েছে।