一、計算兩個整數(shù)的最大公約數(shù)
package exercise;
import javax.swing.JOptionPane;
public class GreatestCommonDivisor { //還可以用歐幾里得算法簡化
public static void main(String[] args) {
String intString1=JOptionPane.showInputDialog("請輸入第一個整數(shù)");
int num1=Integer.parseInt(intString1);
String intString2=JOptionPane.showInputDialog("請輸入第二個整數(shù)");
int num2=Integer.parseInt(intString2);
int k=1; //切記此處不能取0
int gcd=1; //最小的最大公約數(shù)為1
while(k<=num1&&k<=num2){ //最大公約數(shù)必須小于或等于輸入的兩個整數(shù)铣耘,此處也可用for循環(huán)來編寫
if(num1%k==0&&num2%k==0) //進一步限制條件為最大公約數(shù)必須能被兩個整數(shù)整除
gcd=k; //計算到最后书劝,gcd會被最大的k覆蓋
k++; //k++是在while的層次故俐,不要放到if循環(huán)里面去了
}
JOptionPane.showMessageDialog(null, num1+"和"+num2+"的最大公約數(shù)是:"+gcd);
}
}
最后編輯于 :
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者