//(6)題目:輸入兩個正整數m和n,求其最大公因數和最小公倍數。 (必須用迴圈完成)
package hey;
import java.util.Scanner;
public class math {
public static void main(String[] args) {
// TODO Auto-generated method stub
//(6)題目:輸入兩個正整數m和n,求其最大公因數和最小公倍數。 (必須用迴圈完成)
// 1.程序分析:利用輾轉相除法。
Scanner scanner=new Scanner(System.in);
System.out.println("請輸入兩整數,用空格分開");
int m=scanner.nextInt();
int n=scanner.nextInt();
scanner.close();
int m1=m,n1=n; //把輸入兩整數做備份
int temp; //交換時使用
//算法的便是把m除以n,再計算所得餘數。把n給m,餘數給n,持續計算下去到m%n==0時n即為最大公因數
if(n==0 || m==0) {
System.out.println("無最大公因數");
System.out.println("無最小公倍數");
}
else {
//算法的便是把m除以n,餘數不為0。把n給m,餘數給n,持續計算下去到m%n==0時跳出,n即為最大公因數
while(m%n!=0)
{
temp=m%n;m=n;n=temp;//把餘數給temp;把n給m,餘數給n。
}
System.out.println("最大公因數為:"+n);
System.out.println("最小公倍數為:"+(m1*n1/n)); //兩數相乘除於最大公因數即為最小公倍數。
}
}
import java.util.Scanner;
public class math {
public static void main(String[] args) {
// TODO Auto-generated method stub
//(6)題目:輸入兩個正整數m和n,求其最大公因數和最小公倍數。 (必須用迴圈完成)
// 1.程序分析:利用輾轉相除法。
Scanner scanner=new Scanner(System.in);
System.out.println("請輸入兩整數,用空格分開");
int m=scanner.nextInt();
int n=scanner.nextInt();
scanner.close();
int m1=m,n1=n; //把輸入兩整數做備份
int temp; //交換時使用
//算法的便是把m除以n,再計算所得餘數。把n給m,餘數給n,持續計算下去到m%n==0時n即為最大公因數
if(n==0 || m==0) {
System.out.println("無最大公因數");
System.out.println("無最小公倍數");
}
else {
//算法的便是把m除以n,餘數不為0。把n給m,餘數給n,持續計算下去到m%n==0時跳出,n即為最大公因數
while(m%n!=0)
{
temp=m%n;m=n;n=temp;//把餘數給temp;把n給m,餘數給n。
}
System.out.println("最大公因數為:"+n);
System.out.println("最小公倍數為:"+(m1*n1/n)); //兩數相乘除於最大公因數即為最小公倍數。
}
}
留言
張貼留言