1. 程式人生 > 其它 >求1!+2!+3!+4!+……+n!

求1!+2!+3!+4!+……+n!

技術標籤:C語言c語言

題目

求1!+2!+3!+4!+……+n!

思路

方法1:兩重迴圈,外迴圈算階乘和,內迴圈算階乘(這個方法時間複雜度高,用方法2比較好)
方法2:一重迴圈,第n個數的階乘結果是n*第n-1個數的階乘結果

C語言程式碼

方法1:

#include <stdio.h>
main()
{
	int i,j,sum=0,n,sum1=1; 
	i=j=1;
	scanf("%d",&n);
	while(i<=n)
	{
		while(j<=i)
		{
			sum1=sum1*j;
			j++;
			printf
("%d",sum1); } sum+=sum1; i++; } printf("%d",sum); return 0; }

方法2:

#include <stdio.h>
main()
{
	int i,j,sum=0,n,sum1=1;//sum為階乘和,sum1為階乘結果 
	i=j=1;
	printf("請輸入n:");
	scanf("%d",&n);
	while(i<=n)
	{
		sum1*=i;//計算階乘,第n個數的階乘結果是n*第n-1個數的階乘結果 
printf("%d\n",sum1); sum+=sum1; i++; } printf("%d",sum); return 0; }

結果

在這裡插入圖片描述

寫在後面

歡迎大家指出錯誤的地方