ต่อไปนี้เป็นตัวอย่างสำหรับตัวหารร่วมของตัวเลขสองตัวในภาษาจาวา -
ตัวอย่าง
public class Demo{ static int find_gcd(int val_1, int val_2){ if (val_1 == 0) return val_2; return find_gcd(val_2%val_1,val_1); } static int common_divisors(int val_1,int val_2){ int no = find_gcd(val_1, val_2); int result = 0; for (int i=1; i<=Math.sqrt(no); i++){ if (no%i==0){ if (no/i == i) result += 1; else result += 2; } } return result; } public static void main(String args[]){ int val_1 = 68, val_2 = 34; System.out.println("The common divisors between the two numbers is "); System.out.println(common_divisors(val_1, val_2)); } }
ผลลัพธ์
The common divisors between the two numbers is 4
คลาสชื่อ Demo มีฟังก์ชันสแตติกที่รับค่าสองค่าและส่งกลับตัวหารร่วมมากที่มากที่สุดโดยใช้การเรียกซ้ำ ฟังก์ชันอื่นเรียกฟังก์ชันตัวหารร่วมมากนี้และวนซ้ำตัวเลขระหว่าง 1 ถึงรากที่สองของตัวหารร่วมมากสุด
ถัดไป เงื่อนไขคือจำนวนโมดูลัสของค่าที่วนซ้ำควรเท่ากับศูนย์ และถัดไป ตัวเลขหารด้วยค่าที่วนซ้ำควรเท่ากับค่าที่วนซ้ำ จากนั้นผลลัพธ์ (ซึ่งเริ่มต้นเป็น 0 ในตอนแรก) จะเพิ่มขึ้นตาม 1. หากเงื่อนไขไม่เป็นที่พอใจ ผลลัพธ์จะเพิ่มขึ้น 2 ในฟังก์ชันหลัก ค่าเริ่มต้นสองค่าจะเริ่มต้น และฟังก์ชันข้างต้นจะถูกเรียกใช้ ผลลัพธ์ที่เกี่ยวข้องจะปรากฏบนหน้าจอ