设计java程序完成计算s=1!+2!+...+n! 输入n,输出s的结果值
时间: 2023-11-13 16:55:15 浏览: 44
好的,以下是Java程序的实现方式:
```java
import java.math.BigInteger;
public class FactorialSum {
public static void main(String[] args) {
int n = 10; // 假设n为10
BigInteger sum = BigInteger.ZERO; // 初始化sum为0
BigInteger factorial = BigInteger.ONE; // 初始化factorial为1
for (int i = 1; i <= n; i++) {
factorial = factorial.multiply(BigInteger.valueOf(i)); // 计算i的阶乘
sum = sum.add(factorial); // 将阶乘加入sum中
}
System.out.println(sum); // 输出结果
}
}
```
相关问题
java编写一个程序,求s=1+(1+2)+(1+2+3)+...+(1+2+3+...+n)。 【输入形式】 输入一个正整数n,根据求s公式计算s并输出。 【输出形式】 输出的为s的结果。 【样例输入】 5 【样例输出】 35 【样例说明】 用户
以下是一个用Java编写的程序,用来计算给定公式的结果:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int s = 0;
int t = 1;
for (int i = 1; i <= n; i++) {
t *= i;
s += t;
}
System.out.println(s);
}
}
```
这个程序首先从用户输入中读取一个正整数n。然后,使用一个循环来计算公式中每一项的结果,并将结果累加到变量s中。最后,程序打印出结果s。例如,当输入为5时,程序会计算出35作为输出结果。<span class="em">1</span><span class="em">2</span>
#### 引用[.reference_title]
- *1* [编写一个程序,求s=1+(1+2)+(1+2+3)+...+(1+2+3+...+n)。](https://blog.csdn.net/qq_48740719/article/details/120745050)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [编写一个程序,计算s=1!+2!+…..+10!](https://blog.csdn.net/weixin_42561623/article/details/113675152)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
用java编写两个函数,一个是用来计算平方值的函数f1,另一个是用来计算阶乘值的函数f2。主函数先调f1计算出平方值,再在f1中以平方值为实参,调用 f2计算其阶乘值,然后返回f1,再返回主函数,在循环程序中计算累加和计算s=4!+9!
好的,以下是用 Java 编写的代码:
```java
public class Main {
public static void main(String[] args) {
int s = 0;
for (int i = 2; i <= 4; i++) {
int square = f1(i);
int factorial = f2(square);
s += factorial;
}
System.out.println("s = " + s);
}
public static int f1(int n) {
return n * n;
}
public static int f2(int n) {
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
}
```
在 `main` 函数中,我们循环计算 $4!$ 和 $9!$ 的阶乘值,然后将它们累加到变量 `s` 中。在每次循环中,我们先调用函数 `f1` 计算出平方值,然后将这个平方值作为实参调用函数 `f2` 计算阶乘值。
函数 `f1` 直接返回 `n` 的平方值,函数 `f2` 则使用循环计算 $n!$ 的值。最后,我们在主函数中输出变量 `s` 的值,即 $4!+9!$ 的结果。
注意:这里的阶乘函数 `f2` 没有进行任何的异常处理,如果输入的参数 `n` 是负数,则会导致程序崩溃。实际应用时,需要对输入进行有效性检查。