壞人嗎>"<
2006-07-25 18:51:41 UTC
最近開始學如何使用遞迴的方式寫一些程式,但典型的求最大公因數用
FOR迴圈的方式我寫的出來,但用呼叫遞迴的方式我卻寫的不出來~"~
請教各位大大幫我我指點一下吧!!!
以下是用FOR迴圈寫的:
import java.io.*;
public class MaxCommomFactor{
static int MaxNum(int a,int b){ /*求最大公因數方法*/
int max,min;
if(a>b){ //將輸入的值比大小,大的放max,小的放min
max=a;
min=b;}
else{
max=b;
min=a;}
int i;
for(i=min;i>=1;i--) //最大公因數從最小的值開始作
{
if((max%i==0)&&(min%i==0))
break;
else
continue;
}
return i;
}
public static void main(String[] args)throws IOException /*主要程式*/
{
System.out.print("請輸入第一個數 : ");
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
int A=Integer.parseInt(input.readLine());
System.out.print("請輸入第二個數 : ");
int B=Integer.parseInt(input.readLine());
int Big=MaxNum(A,B);
System.out.println("最大公因數 : "+Big);
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.116.177.113
FOR迴圈的方式我寫的出來,但用呼叫遞迴的方式我卻寫的不出來~"~
請教各位大大幫我我指點一下吧!!!
以下是用FOR迴圈寫的:
import java.io.*;
public class MaxCommomFactor{
static int MaxNum(int a,int b){ /*求最大公因數方法*/
int max,min;
if(a>b){ //將輸入的值比大小,大的放max,小的放min
max=a;
min=b;}
else{
max=b;
min=a;}
int i;
for(i=min;i>=1;i--) //最大公因數從最小的值開始作
{
if((max%i==0)&&(min%i==0))
break;
else
continue;
}
return i;
}
public static void main(String[] args)throws IOException /*主要程式*/
{
System.out.print("請輸入第一個數 : ");
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
int A=Integer.parseInt(input.readLine());
System.out.print("請輸入第二個數 : ");
int B=Integer.parseInt(input.readLine());
int Big=MaxNum(A,B);
System.out.println("最大公因數 : "+Big);
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.116.177.113