【C語言】求1!+2!+3!+......+10!
阿新 • • 發佈:2019-02-02
通常我們使用函式:int fun(n)實現階乘求和功能;這次我們不用函式實現。而使用for迴圈。
#include <stdio.h>
int main ()
{
int i,j,n = 1,m = 1;
int sum = 0;
for(i=1; i<=10; i++)
{
for(j=1; j<=i; j++)
{
if(j==i)
{
n = m*j;
m = n;//記錄當前階乘的積
}
}
sum += n;
}
printf("the sum is %d\n",sum);
return 0;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
毋庸置疑,我們得到了我們想要的結果,但是此程式並不是最優化,我們可以對程式進行再優化。
#include <stdio.h>
int main ()
{
int i,j,n = 1;
int sum = 0;
for(i=1; i<=10; i++)
{
n *= i;
sum += n;
}
printf("the sum is %d\n" ,sum);
return 0;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
是不是覺得程式看起來沒那麼多冗餘的部分了!理解之後,記得自己上機執行一下喲~~~