C语言求1+2!+3!+...+20!

这是最先想到的,也属于定势思维
  1. #include<stdio.h>
  2. int main()
  3. {
  4.    //求1+2!+3!+...+20!的和
  5.    int i,j;
  6.    long sum,k;
  7.    sum=0;
  8.    for(i=1;i<=20;i++)
  9.    {    k=1;//必须每次都初始化,否则结果不对
  10.        for(j=1;j<=i;j++)
  11.        {
  12.            k=k*j;
  13.        }
  14.        sum=sum+k;
  15.    }
  16.     printf("1+2!+3!+…+20!=%d",sum);
  17. }
然而下面的代码就特别好看了
  1. #include<stdio.h>
  2. int main()
  3. {
  4.     long sum=0,t=1;
  5.     int i;
  6.     for(i=1;i<=20;i++)
  7.     {
  8.         t=t*i;  //t和sum一直往上叠
  9.         sum=sum+t;
  10.     }
  11.     printf("%d",sum);
  12. }
  本文地址:http://liuyanzhao.com/3443.html 转载请注明  
  • A+
所属分类: C

发表评论

目前评论:1