首先說下最大公約數是個什麼東西,我剛纔已經忘記了不知道這是個什麼東東了.
最大公約數 指兩個或多個整數共有約數中最大的一個。
輾轉相除法
輾轉相除法:輾轉相除法是求兩個自然數的最大公約數的一種方法
例如,求(319,377):
∵ 319÷377=0(餘319)
∴(319,377)=(377,319);
∵ 377÷319=1(餘58)
∴(377,319)=(319,58);
∵ 319÷58=5(餘29)
∴ (319,58)=(58,29);
∵ 58÷29=2(餘0)
∴ (58,29)= 29;
∴ (319,377)=29。
很容易發現,用第一個數去除以第二個數,獲取到餘數,然後再用第二個數去除以餘數。直到餘數爲0就求到了最大公約數
可以得出以下規律:
代碼:
import java.util.Scanner;
public class MaxCommonDIvisor {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a = in.nextInt();
int b = in.nextInt();
int c = fun(a,b);
System.out.println(c);
}
public static int fun(int a,int b)
{
if(b<=a && b == 0)
{
return a;
}else if(a<b)
{
return fun(b,a);
}else
{
return fun(b,a%b);
}
}
}