分別用for循環,while do-while以及遞歸方法實現n的階乘!


分別用for循環,while do-while以及遞歸方法實現n的階乘!

源碼:

package book;
import java.util.Scanner;
public class Access {
    public static void main(String args[]){
        System.out.println("第一種,利用for循環實現n的階乘");
        Scanner su=new Scanner(System.in);
        System.out.println("請輸入n的值:");
        int n=su.nextInt();
        int sum=1;
        for(int i=1;i<=n;i++){
            sum=sum*i;
        }
        System.out.println(n+"的階乘值為"+sum);
        System.out.println("while實現n的階乘!");
        int i=sum=1;
        while(i<n){
             i=i+1;
            sum*=i;            
        }
        System.out.println(n+"的階乘值為"+sum);
        System.out.println("do-while實現n的階乘!");
        do{
        sum*=i;
        i+=1;
        }while(i<n);
        System.out.println(n+"的階乘值為:"+sum);
        System.out.println("利用遞歸方法實現N的階乘!");
        System.out.println("遞歸方法:"+Digui(n));
        }
        public static int Digui(int n){
        if(n==0)
        return 1;
        else
        return n*Digui(n-1);
        }
}

運行結果

第一種,利用for循環實現n的階乘
請輸入n的值:10
10的階乘值為3628800
while實現n的階乘!
10的階乘值為3628800
do-while實現n的階乘!
10的階乘值為:36288000
利用遞歸方法實現N的階乘!
遞歸方法:3628800


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM