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

avatar 2016年03月16日17:34:13 1 5575 views
博主分享免费Java教学视频,B站账号:Java刘哥
这是最先想到的,也属于定势思维
  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 转载请注明  
  • 微信
  • 交流学习,有偿服务
  • weinxin
  • 博客/Java交流群
  • 资源分享,问题解决,技术交流。群号:590480292
  • weinxin
avatar

发表评论

avatar 登录者:匿名
匿名评论,评论回复后会有邮件通知

  

已通过评论:0   待审核评论数:0