標題:
[挑戰題]最大公因數
[打印本頁]
作者:
歐柏罕
時間:
2018-4-17 19:59
標題:
[挑戰題]最大公因數
本帖最後由 歐柏罕 於 2018-4-17 20:24 編輯
請輸入第一個數:
請輸入第二個數:
利用使用者輸入的兩個數字計算出最大公因數
提示:
30/18=1餘12
18/12=1餘6
12/6=2
public static void main(String[] args) {//主程式
// TODO 自動產生的方法 Stub
System.out.print( gcd(30,18) );
//利用副程式(gcd()) , 30和18
}
/* 輾轉相除法
* 30/18=1餘12
* 18/12=1餘6
* 12/6=2
*/
public static int gcd(int m, int n){//最大公因數 條件:副程式限制 "值"
//m 較大 n 小
int result = 1;
while(m%n!=0) //迴圈 兩數相除之餘數 不等於(!=) 0
{//條件成立才執行
result=n; //暫存 其中一個值
n=m%n; // 把原本的變數 取代 成 兩數相除之餘數
m=result;
}
//等於0 才會離開 while迴圈
result=n;//n 才是答案
return result;//回傳結果,限制int
}
複製代碼
作者:
顏羽彤
時間:
2018-4-17 20:11
此帖僅作者可見
作者:
巫晉宇
時間:
2018-4-17 20:35
此帖僅作者可見
作者:
石光義
時間:
2018-4-17 20:39
此帖僅作者可見
作者:
巫沛庭
時間:
2018-5-1 20:33
此帖僅作者可見
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/)
Powered by Discuz! 7.2