文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C程序习题-计算多个阶乘的和[6.4]

C程序习题-计算多个阶乘的和[6.4]

时间:2010-07-27  来源:chengxiaopeng

    求∑ n! n=1 … 20 即(1! + 2! + 3! +…+20!)

    看到这个题目的时候,我们先想到的是首先写一个求阶乘的函数,然后通过从1循环到20进行求每一个阶乘的结果,然后加起来。其中在求这道题的过程中,如果使用int,定义返回值的类型,则会出现数据溢出现象。代码如下:

#include <stdio.h>

unsigned long fn(long);
int main(int argc,int *argv[])
{
    int i;
    unsigned long result=0;
    for (i = 1; i <= 20; i++)
    {
        result +=fn(i);
        printf("%d!=%lu\n",i,fn(i));
    }
    printf("=========================\n");
    printf("the result is : %lu\n",result);
    system("pause");
    return 0;
}

unsigned long fn(long number)
{
    if (number > 0)
    {
      if (number > 1)
      {
         return number * fn(number - 1);
      }
      else
      {
          return 1;
      }
    }
    return -1;
}


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载