張心妮W3schools遞迴方法Recursion,迴圈recursion
public class Main { //張心妮2022.12.19公開的類別 Main 存檔時,名稱Main.java
public static void main(String[] args) {
int x = 15; //宣告整數x
for ( int i = 0; i <= x; i++ )
{
int result = sum(i); //宣告整數result,等於呼叫方法 sum
System.out.print("累加到 " + i + " 等於: " + result);
System.out.println(" 累乘到 " + i + " 等於: " + factor(i) );
}
}
public static int sum(int k) {//自訂的方法,名稱sum
if (k > 0) { //if-else條件判斷,語法同javascript
return k + sum(k - 1); //recursion重複呼叫自己sum:遞迴
} else { //最有名的應用河內塔Hanoi Tower
return 0;
}
}
public static int factor(int k) {//自訂的方法,名稱factor
if (k > 0) { //if-else條件判斷,語法同javascript
return k * factor(k - 1); //recursion重複呼叫自己sum:遞迴
} else { //最有名的應用河內塔Hanoi Tower
return 1;
}
}
}
public class Main {//張心妮w3schools遞回函數recursion
public static void main(String[] args) {
int x=10;
for (int i=0; i < x; i++) //使用for迴圈
System.out.println(i + "累加等於 "+ sum(i));//sum函數,參數x
System.out.println("累乘等於 "+ f(i) );
public static int sum(int k) {//定義sum函數,參數k
if (k > 0) {
return k + sum(k - 1); //sum函數再呼叫sum,f(f(k))
} else {
return 0;
}
public static int f(int k) {//定義sum函數,參數k
if (k > 0) {
return k * f(k - 1); //sum函數再呼叫sum,f(f(k))
} else {
return 1;} //0!=1, 5!=5x4x3x2x1
}
留言
張貼留言