代码如下:
#define _CRT_SECURE_NO_WARNINGS 1
#include"stdio.h"
#include"stdlib.h"
int main()
{
int n = 0;
printf("请输入一个数字: ");
scanf("%d",&n);
int i = 0;
int ret = 1;
int sum = 0;
for (i = 1; i <= n; i++)
{
ret *= i;
sum += ret;
}
printf("%d\n",sum);
system("pause");
return 0;
}
扩展资料
阶乘计算功能关键算法
利用递归方法求5!
用递归方式求出阶乘的值。递归的方式为:
5!=4!*5
4!=3!*4
3!=2!*3
2!=1!*2
1!=1
即要求出5!,先求出4!;要求出4!,先求出3! … 以此类推。
注意:定义一个函数(或方法),用于求阶乘的值。
在主函数(或主方法)中调用该递归函数(或方法),求出5的阶乘,并输出结果。
package Third;
public class one {
public static void main(String args[]){
int n =5; //输入n的值
//n的阶乘的值为:factorial(n);
System.out.println("5的阶乘是:" + factorial(n));
}
public static int factorial(int n){ //阶乘求解函数
if(n == 0){ //判断传进来的n是否为0,若为零返回阶乘为1
return 1;
}
return n*factorial(n-1); //重新调用函数,继续判断n-1是否为零,
}
}