Java实现求1!+2!+3!+4!+........+n!的和

求1!+2!+3!+4!+…+n!的和

代码:

public class Zheng {
  public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    int n = scan.nextInt();
     int add=facadd(n);
     System.out.println(add);
  }
  public static int facadd(int n) {
    int sum=0;
    for(int i=1;i<=n;i++) {
      int ret=1;    
    for(int j=1;j<=i;j++) {
       ret*=j;
      }
      sum+=ret;
    }
    return sum;
  }

运行结果:
在这里插入图片描述

  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是一个Java程序,可以计算1!+2!+3!+...+n!的和: ```java import java.util.Scanner; public class FactorialSum { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("请输入一个正整数n:"); int n = input.nextInt(); int sum = 0; for (int i = 1; i <= n; i++) { int factorial = 1; for (int j = 1; j <= i; j++) { factorial *= j; } sum += factorial; } System.out.println("1!+2!+3!+...+n!的和为:" + sum); } } ``` 程序首先通过Scanner类获取用户输入的正整数n,然后使用两个for循环计算1!+2!+3!+...+n!的和。外层循环从1到n遍历每个数字,内层循环计算当前数字的阶乘。最后将每个数字的阶乘累加到sum变量中,最终输出结果。 ### 回答2: 这个问题涉及到Java的基本语法和算法,需要对Java的循环、数组、变量和方法等进行深入理解。 首先,我们需要了解阶乘的概念。阶乘是指从1到一个正整数n所有整数的乘积,表示为n!。例如,5! = 5 × 4 × 3 × 2 × 1 = 120。 接下来,我们需要编写一个Java程序,输出1! 2! 3! …… n!的和。我们可以按以下步骤进行: 1. 定义一个整数变量n,表示要计算的阶乘数的大小。 2. 定义一个长整型数组factorials,用于存储从1到n的所有阶乘数。 3. 利用for循环从1到n依次计算每个数的阶乘,并将结果存入factorials数组中。 4. 定义一个长整型变量sum,用于累加所有阶乘数的和。 5. 再次利用for循环遍历factorials数组,将每个阶乘数加入sum中。 6. 最后将sum输出到屏幕上。 下面的Java程序实现了该功能: import java.util.Scanner; public class FactorialSum { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入n的(n>=1):"); int n = scanner.nextInt(); long[] factorials = new long[n]; factorials[0] = 1; long sum = 1; for (int i = 1; i < n; i++) { factorials[i] = factorials[i - 1] * (i + 1); sum += factorials[i]; } System.out.println("1!+2!+3!+...+" + n + "!的和为:" + sum); } } 在这个程序中,我们通过定义一个长整型数组factorials来储存从1到n的所有阶乘数。然后利用for循环从1到n依次计算每个数的阶乘,并将结果存入factorials数组中。最后再次利用for循环遍历factorials数组,将每个阶乘数加入sum中,从而得到1! 2! 3! …… n!的和。最后将sum输出到屏幕上。 需要注意的是,阶乘数的计算结果存在long型中,因为阶乘数的大小非常大,使用int型会导致数据溢出。 ### 回答3: 这道题要的是编写一个Java程序,将1!、2!、3!、……n!的和输出在屏幕上。 首先,我们需要了解阶乘的概念。阶乘是指将一个正整数n与小于等于n的正整数相乘所得的积,记作n!,其中0!=1。用数学公式表示为:n! = n × (n-1) × (n-2) × … × 1。 那么,我们就需要依次计算1!、2!、3!、……n!的和。这个任务可以用一个循环语句来实现。具体步骤如下: 1. 首先,定义一个整数变量n,表示需要计算的范围。这个可以从键盘上获取,也可以在程序中直接赋。 2. 定义一个double类型的sum,表示阶乘和的总和,初为0。 3. 用一个for循环语句遍历1到n的所有整数,依次计算每个整数的阶乘,并累加到sum中。 4. 计算n的阶乘,并累加到sum中。 5. 最后,输出阶乘和的总和sum即可。 下面是这个程序的代码实现: import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入要计算的范围n:"); int n = scanner.nextInt(); double sum = 0; double fac = 1; for (int i = 1; i <= n; i++) { fac = fac * i; sum = sum + fac; } System.out.println("1! + 2! + 3! + …… + " + n + "! 的总和是:" + sum); } } 以上就是这个Java程序的实现过程。我们先从键盘上输入要计算的阶乘范围n,然后用一个for循环语句遍历1到n的所有整数,计算每个整数的阶乘并累加到总和sum中,最后将总和sum输出到屏幕上。运行程序,输入n的后,即可得到阶乘和的总和。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值