㈠ 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。