本帖最後由 李泳霖 於 2023-2-11 14:52 編輯
題目說明:
請將檔案另存成JPA03.java,並編譯為JPA03.class
設計說明:
1.請設計一程式,持續輸入兩個數 m、n。
2.m與n中間以斷行分隔,並以一個類別方法及while loop 計算 m 與 n 的最大公因數,直到輸入m=999為止。
2.n為使用者任意輸入的整數值,n值範圍介於1到10之間。
3.持續輸入兩的數 m、n,顯示如執行結果參考畫面,於下方輸出此兩數的最大公因數。
4.顯示如執行結果參考畫面。
- import java.io.*;
- public class JPA03 {
- public static void main (String argv[]) throws IOException {
- int num1, num2;
-
-
- System.out.println("Input:");
-
- while (___________) {
-
- }
- }
-
- static int gcd (int m, int n) {
- int result;
- while (__________){
-
- }
-
- }
- }
複製代碼- import java.util.Scanner;
- public class JPA03 {
- public static void main (String argv[]){
- int num1, num2;
- Scanner s=new Scanner(System.in);
- System.out.println("Input:");
- num1=s.nextInt();
- while(num1!=999) {
- num2=s.nextInt();
- System.out.println(gcd(num1, num2));
- System.out.println("Input:");
- num1=s.nextInt();
- }
- }
- static int gcd (int m, int n) {
- while (m%n!=0){
- int tmp=m%n;
- m=n;
- n=tmp;
- }
- return n;
- }
- }
- /* m n m%n
- 35 / 21 = 1 ... 14
- 21 / 14 = 1 ... 7
- 14 / 7 = 2 ... 0
- */
複製代碼- import java.util.Scanner;
- public class JPA03 {
- static Scanner s=new Scanner(System.in);
- public static void main (String argv[])
- {
- int num1, num2;
- System.out.println("Input:");
- num1=s.nextInt();
- while (num1!=999)
- {
- num2=s.nextInt();
- System.out.println(gcd(num1,num2));
- System.out.println("Input:");
- num1=s.nextInt();
- }
- }
-
- static int gcd (int m, int n)
- {
- int result=0,x=1;
- while (x<=m && x<=n)
- {
- if(m%x==0 && n%x==0)
- result=x;
- x++;
- }
- return result;
- }
- }
複製代碼 |