c语言编程 求n到m阶乘之和 n!+(n+1)!+…+m!

如题所述

#include<stdio.h>
#include<stdlib.h>

unsigned long long jc(unsigned long long n)
{
     if(n==0 || n==1) return 1;
     return n*jc(n-1);
}

int main()
{
    int n,m;
    unsigned long long res=0;
    while(1){
        printf("ÇëÊäÈëÁ½¸öÕûÊýnºÍm£¨0<=n<=m<=10£©:\n");
        scanf("%d %d",&n,&m);
        if(n==-1 && m==-1) break;
        int i;
        res=0;
        for(i=n;i<=m;i++)
        {
            res= res+jc(i);
        }
        printf("%u\n",res);
    }
    system("pause");
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-01
#include <stdio.h>
int sum(int n, int m) {
    int i =n;
    int sum = 0;
    if (n > m)
        return -1;
    else {
        for(; i <=m; i++) {
            sum += jiecheng(i);
        }
    }
    return sum;
}
int jiecheng(int n) {
    int i = 1;
    int muti= 1;
    if (n >= 1) {
        for (;i <= n; i++) {
            muti *= i;
        }
    }
    return muti;
}
int main() {
    printf("%d\n",sum(2, 3));
    return 0;
}

第2个回答  推荐于2018-05-06

用迭代,然后循环相加即可。

如图(注意:输入两个数的时候用空格隔开):

本回答被网友采纳
第3个回答  2015-04-01
n和m的值有没有范围,对于运行时间有没有要求?

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网