求1!+2!+3!+4!+……+n!
阿新 • • 發佈:2021-02-09
題目
求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;
}
結果
寫在後面
歡迎大家指出錯誤的地方