1. 程式人生 > >遞歸_三角數字和階乘

遞歸_三角數字和階乘

turn blog 編程 需要 body 程序 了解 pos 就會

遞歸是自己調用自己的編程技術,是程序設計中的數學歸納法。
特征:調用自身;當調用自身的時候,是為了解決更小的問題;存在某個足夠簡單的問題的層次,在這一層算法中不需要調用自己就可以直接解答,且返回結果。
當遞歸不再調用自己時就會退出遞歸。

三角數字

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Triangle {
    static int theNumber;//即數學中n的值
    public static void main(String[] args) throws
IOException { System.out.print("輸入 n 的值:"); theNumber=getInt(); int theAnswer=triangle(theNumber); System.out.print("三角數字是"+theAnswer); } private static int triangle(int n) { if(n==1) return 1; else return (n+triangle(n-1)); }
public static String getString() throws IOException { InputStreamReader inputStreamReader=new InputStreamReader(System.in); BufferedReader bufferedReader=new BufferedReader(inputStreamReader); return bufferedReader.readLine(); } public static int getInt() throws IOException { String string
=getString(); return Integer.parseInt(string); } }

階乘

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Factorial {
    static int theNumber;//即數學中n的值
    public static void main(String[] args) throws IOException {
        System.out.print("輸入 n 的值:");
        theNumber=getInt();
        int theAnswer=factorial(theNumber);
        System.out.print("階乘是"+theAnswer);

    }
    
    private static int factorial(int n) {
        if(n==0)
            return 1;
        else
            return (n*factorial(n-1));
    }

    public static String getString() throws IOException {
        InputStreamReader inputStreamReader=new InputStreamReader(System.in);
        BufferedReader bufferedReader=new BufferedReader(inputStreamReader);
        return bufferedReader.readLine();

    }
    public static int  getInt() throws IOException {
        String string=getString();
        return Integer.parseInt(string);
    }

}

遞歸_三角數字和階乘