本文目錄一覽:
用java遞歸算法求一個數字的階乘
1、採用自頂向上的遞歸方法,代碼如下:
import java.util.Scanner;
public class Test {
@SuppressWarnings(“resource”)
public static void main(String[] args) {
// 從控制台輸入一個整數
Scanner in = new Scanner(System.in);
int b = in.nextInt();
// 聲明一個Test對象,調用cal方法獲得結果
Test test = new Test();
long a = test.cal(b);
System.out.println(a);
}
// 通過遞歸掉調用最終返回結果
public long cal(int number) {
// 如果數字為1,則直接返回
if (number == 1) {
return 1;
} else {// 否則遞歸求值
return number * cal(number – 1);
}
}
}
2、遞歸方法:
遞歸算法是把問題轉化為規模縮小了的同類問題的子問題。然後遞歸調用函數(或過程)來表示問題的解。一個過程(或函數)直接或間接調用自己本身,這種過程(或函數)叫遞歸過程(或函數).
3、特點:
(1) 遞歸就是在過程或函數里調用自身。
(2) 在使用遞歸策略時,必須有一個明確的遞歸結束條件,稱為遞歸出口。
(3) 遞歸算法解題通常顯得很簡潔,但遞歸算法解題的運行效率較低。所以一般不提倡用遞歸算法設計程序。
(4) 在遞歸調用的過程當中系統為每一層的返回點、局部量等開闢了棧來存儲。遞歸次數過多容易造成棧溢出等。所以一般不提倡用遞歸算法設計程序。
java如何用遞歸實現數字的階乘呢?
public static int jiecheng(int n)
{
if (n ==1)
{
return 1;
}
else
{
return jiecheng(n – 1) * n;
}
}
然後調用jiecheng這個方法,輸出jiecheng(n)………….n數字自己取
在java中,用遞歸方法計算n的階乘。
用Java求鍵盤輸入的數的階乘n。(遞歸算法)packagejiecheng; importjava.util.*; //導入java.util包中的所有類classrep{ publiclongrep(intn){ longi=0; if(n==0||n==1) i=1;
elsi=n*rep(n-1) returni; } } publicclassJie { publicstaticvoidmain(String[] args) { intn; //此處定義要輸入的數Scanner s = newScanner(System.in); //以下三行用於n的值得輸入System.out.print( “請輸入一個整數:”); n = s.nextInt(); rep f= newrep(); System.out.println(n+”!=”+f.rep(n)); } }
Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行複雜的編程。
發展歷程:20世紀90年代,硬件領域出現了單片式計算機系統,這種價格低廉的系統一出現就立即引起了自動控制領域人員的注意,因為使用它可以大幅度提升消費類電子產品(如電視機頂盒、麵包烤箱、移動電話等)的智能化程度。
Sun公司為了搶佔市場先機,在1991年成立了一個稱為Green的項目小組,帕特里克、詹姆斯·高斯林、麥克·舍林丹和其他幾個工程師一起組成的工作小組在加利福尼亞州門洛帕克市沙丘路的一個小工作室裡面研究開發新技術,專攻計算機在家電產品上的嵌入式應用。
原創文章,作者:AZ8ZT,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/130264.html