问题标题: 酷町堂:2271

0
0
已解决
被禁言 张恩昊
张恩昊
资深天翼
资深天翼

先水一下

 

CF果然NB

 

 

归入正题!

 

 

哪错了?

2217

10分

#include<iostream>

using namespace std;

int main()

{

int n,m,s=0;

cin>>m>>n;

long long sum=1;

for(int i=m;i<=n;i++){

s+=sum*=i;

}

cout<<s;

return 0;

}


0
已采纳
王子豪
王子豪
资深守护
资深守护

1.for循环应从n到m。

2.建议写一个求阶乘的函数(附赠),方便计算。

long long f[20];//f[i]表示i的阶乘
long long jx(int n){
    if(n==1){
        return f[n]=1;
    }
    if(!f[n]==-1){
        return f[n];
    }
    return f[n]=n*jx(n-1);
}

/*

头文件要加#include<cstring>

主函数里还要加memset(f,-1,sizeof(f));

*/

0
朱小川
朱小川
缔造者
缔造者

for(int i=1;i<=m;i++){ s*=i; if(i>=n){ sum+=s; } } cout<<sum;

核心

0
被禁言 汪子晨
汪子晨
修练者
修练者

长形定义 m,n,s,sum=1,sum1=1;
    输入>>m>>n;
    循环(int i=1;i<=m-1;i++){
        sum乘等于i;
    }
    循环(int i=m;i<=n;i++){
        sum乘等于i;
        sum1加等于sum;
    }
    输出<<sum1-1;

求采纳

0
0
我要回答