Java 最大公約數(一般方法及輾轉相除法)


挺簡單的,就放下代碼吧,都寫了注釋


import java.util.Scanner;

public class maxdivisor {
 public static void main(String[] args) {
	 Scanner sc = new Scanner(System.in);
	 int a=sc.nextInt();
	 int b=sc.nextInt();
	 int gcd=1;
	 for (int i=2;i<=a && i<=b;i++) {//最大公約數,小於等於兩個數中的min
		 if(a%i==0&&b%i==0) {//i對兩個數取余都為零
			 gcd=i;
		 }
	 }
	 System.out.println(gcd);
 }
}

運行結果

代碼運行結果

第二部分:用輾轉相除法求最大公約數

輾轉相除法:對於給定的兩個數,用較大的數除以較小的數。若余數不為零,則將余數和較小的數構成新的一對數,繼續上面的除法,直到大數被小數除盡,則這時較小的數就是原來兩個數的最大公約數。

代碼

import java.util.Scanner;

public class maxdivisor1 {
public static void main(String []args) {
	Scanner sc = new Scanner (System.in);
	int a=sc.nextInt();
	int b=sc.nextInt();
	int oa=a;
	int ob=b;
	while(b!=0) {
		int i=a%b;
		a=b;
		b=i;
	}
	System.out.println(oa+"和"+ob+"的最大公約數為"+a);
}
}

運行結果

代碼運行結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM