代碼如下:
#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是否為零,
}
}