java计算运算式1+1*2+1*2*3+1*2*3*4+……+1*2*3*4*……*20的结果并输出.
- 提问者网友:流星是天使的眼泪
- 2021-06-01 15:32
- 五星知识达人网友:酒者煙囻
- 2021-06-01 17:07
public class t{
public static void main(String []args){
int i,j,sum = 0,t = 0;
for(i = 1;i <= 20;i++)
{
t = 1;
for(j = 1;j <= i;j++)
{
t *= j;
}
sum += t;
}
System.out.println(sum);
}
}
- 1楼网友:独钓一江月
- 2021-06-01 19:18
一般人的思维很正常 基本就是for循环
其实 如果你逻辑思维好的话 可以看出来
他们是有规律的 后一个表达式等于前面一个*他所在的位置
发现这个你就会想到编程中的递归思想
public class Calculator { public static void main(String[] args) { Calculator cal=new Calculator(); long result=cal.add(20); System.out.println(result); } //定义一个函数 计算第n个运算式的值 public long cal(int i){ //初始化结果 long result=0; if(i==1){ result=1; }else{ result=cal(i-1)*i; } return result; } //定义一个函数 计算每个运算式相加 public long add(int n){ long count=0; if(n==1){ count=1; }else{ count=cal(n)+add(n-1); } return count; } }
结果2561327494
- 2楼网友:有你哪都是故乡
- 2021-06-01 18:32
class Compute { public Compute() {
}
public static void main(String[] args) { long sum =1; long a=1; for (int i = 2; i <= 20; i++) { a*=i; sum+=a; } System.out.println(sum); } }
输出结果如下:
2561327494long sum=1;//求和变量 long temp=1;//临时变量 计算n1*n2*n.. for(long i=1;i<=20;i++){ for(long j=1;j<i+1;j++){ temp*=j; } sum+=temp; temp=1; } System.out.println(sum);
- 3楼网友:毛毛
- 2021-06-01 17:59
import java.math.*;
public class JiShuang
{ public static void main(String args[])
{ BigInter sum=new BigInteger("0"),
xiang=new BigInteger("1"),
ONE=new BigInteger("1"),
i=ONE,
m=new BigInteger("20");
while(i.compareTo(m)<=0)
{
sum=sum.add(xiang);
i=i.add(ONE);
xiang=xiang.ultiply(i);
}
System.out.println(sum);
}
}