㈠ java中怎樣用遞歸函數求20的階乘
public class DiGui {
public static void main(String[] args) {
DiGui d = new DiGui();
System.out.print(d.TT(20));
}
public double TT(int i)//寫一個返回值為double 類型的方法,20的階層值比較大int類型的值無法表示
{ //方法體比較簡單
if(i <= 1)
{
return i;
}
else
{
return i*TT(i-1);//方法自己調用自己呵呵。。。
}
}
}
㈡ java求1-20的階乘
是不是求20!
public class Test{
public static void main(String[] args){
long f=1; //這里的類型至少要用long
for(int i=1;i<=20;i++)
f=f*i;
System.out.println(f);
}
}
㈢ Java編程求1到20階乘的和
利用遞歸調用解決累加累乘問題。
㈣ java求20內階乘
int的范圍是-2147483648 到2147483648
要是想精確計算,最好用BidDecimal
System.out.print("pleaseinputthenumbertocompute(0~20)");
Scannerinput=newScanner(System.in);
inta=input.nextInt();
BigDecimals=newBigDecimal(1);
if((a<0)||(a>20)){
System.out.println("inputerrors");
}elseif(a>0){
for(inti=1;i<=a;i++){
s=s.multiply(newBigDecimal(i));
}
System.out.println(s);
}else{
System.out.print("1");
}
㈤ Java中怎樣用遞歸函數求20的階乘
int a=1;
for(int k=2;k<=20;k++){
fac=fac*k;
System.out.println(k="!="+fac);
}
下面的你得自己注意領悟拉:
Function js(i){ //定義函數 js 並傳遞參數 i
If (i = 1) { //若過程中 i=1
js = 1} //則 js = 1
Else //否則
js = i * js(i - 1) // ..
}
㈥ java中怎麼實現階乘,如計算1~100的階乘
使用BigInteger大容量運算類計算100的階乘
一.一般演算法(循環)
view plain to clipboardprint?
public class Test {
public static void main(String[] args) {
int result = 1;
for (int i = 1; i <= 100; i++) {
result *= i;
}
System.out.println(result);
}
}
public class Test {
public static void main(String[] args) {
int result = 1;
for (int i = 1; i <= 100; i++) {
result *= i;
}
System.out.println(result);
}
}
輸出結果為0,因為int無法保存下100的階乘的結果,100的階乘的長度至少大於50位,也要大於long,double
二.使用BigInteger大容量運算類
view plain to clipboardprint?
import java.math.BigInteger;
public class Test {
public static void main(String[] args) {
BigInteger result = new BigInteger("1");//為result賦初始值,為1
for (int i = 1; i <= 100; i++) {
BigInteger num = new BigInteger(String.valueOf(i));
result = result.multiply(num);//調用自乘方法
}
System.out.println(result);//輸出結果
System.out.println(String.valueOf(result).length());//輸出長度
}
}
import java.math.BigInteger;
public class Test {
public static void main(String[] args) {
BigInteger result = new BigInteger("1");//為result賦初始值,為1
for (int i = 1; i <= 100; i++) {
BigInteger num = new BigInteger(String.valueOf(i));
result = result.multiply(num);//調用自乘方法
}
System.out.println(result);//輸出結果
System.out.println(String.valueOf(result).length());//輸出長度
}
}
計算結果為:000000000000000000
產度:158
㈦ java中求1到20的階乘和
for的嵌套循環的:
publicclassPractice5{
publicstaticvoidmain(String[]args){
longsum=0,c;
for(inti=1;i<=20;i++){
c=1;
for(intb=1;b<=i;b++){
c*=b;
}
sum+=c;
}
System.out.println("1到20的階乘和等於"+sum);
}
}
單個for循環的:
publicclassPractice5{
publicstaticvoidmain(String[]args){
longsum=0,c=1;
for(inti=1;i<=20;i++){
c*=i;
sum+=c;
}
System.out.println("1到20的階乘和等於"+sum);
}
}
㈧ 用JAVA編寫1到20的階乘之和
/*1!+2!+...+20!*/
/*把 20 改成2, 3,4 結果都符合公式。
剛測試了答案。2.455009817E9
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class A{
public static void main (String []args){
int i=1;
double sum2=0;
while(i<=13){
int j=1;
int sum1=1;
while (j<=i){
sum1=sum1*j;
j++;
}
sum2=sum2+sum1;
i++;
}
System.out.println("The result: "+sum2);
}
}
㈨ 怎麼用Java程序計算20的階乘
java程序計算20的階乘,通過使用bigdecimal類來接收數據,如下例子:
publicclassTest{
publicstaticvoidmain(String[]args){
BigDecimalcnt=newBigDecimal(0);
for(inti=1;i<=20;i++){
cnt=cnt.add(jiecheng(i));//循環計算20之內的階乘
}
System.out.println(cnt);
}
(intn){
if(n==1){
returnnewBigDecimal(1);
}
//multiply()相乘
returnjiecheng(n-1).multiply(newBigDecimal(n));
}
}
㈩ 20的階乘等於多少計算方法
20的階乘,即20!
方法:
20!=20×19×18×17×16×15×14×13×12×11×10×9×8×7×6×5×4×3×2×1=2432902008176640000。
一個正整數的階乘應該是所有小於及等於該數的正整數的積,並且0的階乘為1。自然數n的階乘寫作n!。
亦即n!=1×2×3×...×n。階乘亦可以遞歸方式定義:0!=1,n!=(n-1)!×n。
(10)20的階乘java擴展閱讀
任何大於等於1的自然數n階乘表示方法:
0的階乘,0!=1。