前言:
本篇博客将带大家了解如何求n!和1!+2!+…+n!的和。
目录
求n!
思路:
因为n!=1*2*3*4*…*n,所以我们可以利用循环来实现从1开始的逐一增加后的相乘,一直乘到n为止。理解了这个以后,就会发现这题极其简单。
import java.util.Scanner;
public class Main {
//求一个数的阶乘:
public static void main(String[] args) {
//输入希望求的数(n)的阶乘
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int ret = 1;
for (int i = 1; i <= n; i++) {
ret *= i;
}
System.out.println(ret);
}
结果如下:
求1!+2!+…+n!的和
思路:
在解决了一个数的阶乘的求法以后,再来求前n个数的阶乘和就显得非常容易了,只需要在求一个数的阶乘的外面再加一个循环,使得他可以循环算n次一个数的阶乘,然后每每算完一个数的阶乘以后,都把阶乘加起来,就实现了题意。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
//输入你希望求到第几个数(假设求到n)的阶乘和(连续的从1开始加到n):
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int sum = 0;
for (int i = 1; i <= n; i++) {
int ret = 1;
for (int j = 1; j <= i; j++) {
ret *= j;
}
sum += ret;
}
System.out.println("从1的阶乘开始加,加到"+n+"的阶乘的和是:"+sum);
}
}
结果: