挺簡單的,就放下代碼吧,都寫了注釋
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);
}
}