1. 程式人生 > >【C語言】求1!+2!+3!+......+10!

【C語言】求1!+2!+3!+......+10!

通常我們使用函式: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

是不是覺得程式看起來沒那麼多冗餘的部分了!理解之後,記得自己上機執行一下喲~~~