遞歸_三角數字和階乘
阿新 • • 發佈:2017-12-24
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) throwsIOException { 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); } }
遞歸_三角數字和階乘