標題:
求最大公因數
[打印本頁]
作者:
tonyh
時間:
2021-8-17 17:01
標題:
求最大公因數
本帖最後由 tonyh 於 2021-8-17 17:30 編輯
import java.util.Scanner;
public class Ch01 {
public static void main(String[] args) {
int x, y, smaller, gcd=0;
Scanner s=new Scanner(System.in);
System.out.print("請依序輸入兩個正整數: ");
x=s.nextInt();
y=s.nextInt();
smaller=x<y?x:y;
for(int i=1; i<=smaller; i++)
if(x%i==0 && y%i==0)
gcd=i;
System.out.printf("%d與%d的最大公因數為: %d",x,y,gcd);
}
}
複製代碼
import java.util.Scanner;
public class Ch01 {
public static void main(String[] args) {
int x, y, smaller, gcd=0;
Scanner s=new Scanner(System.in);
System.out.print("請依序輸入兩個正整數: ");
x=s.nextInt();
y=s.nextInt();
smaller=x<y?x:y;
for(int i=smaller; i>=1; i--)
{
if(x%i==0 && y%i==0)
{
gcd=i;
break;
}
}
System.out.printf("%d與%d的最大公因數為: %d",x,y,gcd);
}
}
複製代碼
import java.util.Scanner;
public class Ch01 {
public static void main(String[] args) {
int x, y;
Scanner s=new Scanner(System.in);
System.out.print("請依序輸入兩個正整數: ");
x=s.nextInt();
y=s.nextInt();
System.out.printf("%d與%d的最大公因數為: %d",x,y,gcd(x,y));
}
static int gcd(int x, int y)
{
while(x%y!=0)
{
int tmp=x%y;
x=y;
y=tmp;
}
return y;
}
}
/* x y x%y
56 / 35 = 1 ... 21
35 / 21 = 1 ... 14
21 / 14 = 1 ... 7
14 / 7 = 2 ... 0
*/
複製代碼
import java.util.Scanner;
public class Ch01 {
public static void main(String[] args) {
int x, y;
Scanner s=new Scanner(System.in);
System.out.print("請依序輸入兩個正整數: ");
x=s.nextInt();
y=s.nextInt();
System.out.printf("%d與%d的最大公因數為: %d",x,y,gcd(x,y));
}
static int gcd(int x, int y)
{
if(x%y==0)
return y;
else
return gcd(y, x%y);
}
}
/* x y x%y
56 / 35 = 1 ... 21
35 / 21 = 1 ... 14
21 / 14 = 1 ... 7
14 / 7 = 2 ... 0
*/
複製代碼
作者:
吳孟修
時間:
2021-8-17 17:26
import java.util.Scanner;
public class Ch05
{
public static void main(String[] args)
{
Scanner s=new Scanner(System.in);
int x,y,smaller,g=0;
System.out.print("請依序輸入兩個正整數:");
x=s.nextInt();
y=s.nextInt();
smaller=x<y?x:y;
for(int i=1;i<=smaller;i++)
{
if(x%i==0 && y%i==0)
g=i;
}
System.out.printf("%d與%d的最大公因數為:%d",x,y,g);
}
}
複製代碼
作者:
吳孟修
時間:
2021-8-17 17:30
import java.util.Scanner;
public class Ch05
{
public static void main(String[] args)
{
Scanner s=new Scanner(System.in);
int x,y,smaller,g=0;
System.out.print("請依序輸入兩個正整數:");
x=s.nextInt();
y=s.nextInt();
smaller=x<y?x:y;
for(int i=smaller; i>=1; i--)
{
if(x%i==0 && y%i==0)
{
g=i;
break;
}
}
System.out.printf("%d與%d的最大公因數為:%d",x,y,g);
}
}
複製代碼
作者:
吳孟修
時間:
2021-8-17 17:34
import java.util.Scanner;
public class Ch05
{
public static void main(String[] args)
{
Scanner s=new Scanner(System.in);
int x,y;
System.out.print("請依序輸入兩個正整數:");
x=s.nextInt();
y=s.nextInt();
System.out.printf("%d與%d的最大公因數為:%d",x,y,g(x,y));
}
static int g(int x,int y)
{
while(x%y!=0)
{
int t=x%y;
x=y;
y=t;
}
return y;
}
}
複製代碼
作者:
吳孟修
時間:
2021-8-17 17:36
import java.util.Scanner;
public class Ch05
{
public static void main(String[] args)
{
Scanner s=new Scanner(System.in);
int x,y;
System.out.print("請依序輸入兩個正整數:");
x=s.nextInt();
y=s.nextInt();
System.out.printf("%d與%d的最大公因數為:%d",x,y,g(x,y));
}
static int g(int x,int y)
{
if(x%y==0)
{
return y;
}
else
return g(y,x%y);
}
}
複製代碼
作者:
吳孟書
時間:
2021-8-17 17:37
package ch01;
import java.util.Scanner;
public class ch01
{
public static void main(String[] args)
{
Scanner s=new Scanner(System.in);
int x,y,a,b=0;
System.out.print("請依序輸入兩個整數:");
x=s.nextInt();
y=s.nextInt();
a=x<y?x:y;
for(int i=a;i>=1;i--)
{
if(x%i==0 && y%i==0)
{
b=i;
break;
}
}
System.out.println(x+"與"+y+"的最大公因數為:"+b);
}
}
複製代碼
作者:
吳孟書
時間:
2021-8-17 17:39
本帖最後由 吳孟書 於 2021-8-17 17:44 編輯
package ch01;
import java.util.Scanner;
public class ch02
{
public static void main(String[] args)
{
Scanner s=new Scanner(System.in);
int x,y,a,b=0;
System.out.print("請依序輸入兩個整數:");
x=s.nextInt();
y=s.nextInt();
a=x<y?x:y;
for(int i=1;i<=a;i++)
{
if(x%i==0 && y%i==0)
b=i;
}
System.out.println(x+"與"+y+"的最大公因數為:"+b);
}
}
複製代碼
作者:
吳孟書
時間:
2021-8-17 17:44
package ch01;
import java.util.Scanner;
public class ch03
{
public static void main(String[] args)
{
Scanner s=new Scanner(System.in);
int x,y,a,b=0;
System.out.print("請依序輸入兩個整數:");
x=s.nextInt();
y=s.nextInt();
System.out.println(x+"與"+y+"的最大公因數為:"+a(x,y));
}
static int a(int x,int y)
{
while(x%y!=0)
{
int tmp=x%y;
x=y;
y=tmp;
}
return y;
}
}
複製代碼
作者:
吳孟書
時間:
2021-8-17 17:46
package ch01;
import java.util.Scanner;
public class ch04
{
public static void main(String[] args)
{
Scanner s=new Scanner(System.in);
int x,y,a,b=0;
System.out.print("請依序輸入兩個整數:");
x=s.nextInt();
y=s.nextInt();
System.out.println(x+"與"+y+"的最大公因數為:"+a(x,y));
}
static int a(int x, int y)
{
if(x%y==0)
return y;
else
return a(y, x%y);
}
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/)
Powered by Discuz! 7.2