⑴ 对于阶乘而言,可以通过n! = (n-1)!×n快速计算当前项的阶乘;
⑵ 设定两个int变量ans、f,分别代表阶乘的和、当前项的阶乘,初始时ans和f均为1;
⑶ 从第2项开始,到第n项为止,通过循环,做如下操作:
① 首先,令f = f * i,也即计算当前项的阶乘;
② 其次,令ans = ans + f,也即累加当前项的阶乘;
⑷ 循环结束后,ans中存储了阶乘的和。
三、程序代码
importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[] args){Scanner input =newScanner(System.in);int n = input.nextInt();int ans =1;// 阶乘的和,初始为第1项int f =1;// 当前项的阶乘,初始为第1项/* 从第2项开始,到第n项为止 */for(int i =2; i <= n; i++){
f = f * i;// 首先,计算当前项的阶乘
ans = ans + f;// 其次,累加当前项的阶乘}System.out.print(ans);}}