为什么我写的这个不对啊
问题描述
请输出如下所示的阶乘公式 3!+4!+5!+6!+7! 这个公式表示从3到7的阶乘之和。现在给定两个整数a和b(0
输入
输入为一行,由两个整数a和b构成,之间由一个空格分开。已经知道0
输出
输出a到b的阶乘之和,公式中间无任何空格。公式最后加一个换行符。
输入样列
3 7
输出样例
3!+4!+5!+6!+7!
int main()
{
int a,b,i;
scanf("%d%d",&a,&b);
for(i=a;i<b;i++)
{
printf("%d!+",i);
}
print("%d!",b);
}
int main()
{
int m,n;
scanf("%d%d",&m,&n);
long long sum = 0,s = 1;
for(i=1;i<=n;i++)
{
s *= i;
if(i>=m)
sum += s;
}
printf("%lld",sum);
}
供参考:
#include <stdio.h>
int fun(int a) //求阶乘
{
int result;
if(a<=1)
result = 1;
else
{
result = a*fun(a-1);
}
return result;
}
int main(){
int a,b,sum=0;
scanf("%d %d",&a,&b);
for(int i=a;i<b;i++)
printf("%d!+",i);
for(int i=a;i<=b;i++)
sum=sum+fun(i);
printf("%d!=%d\n",b,sum);
return 0;
}
截图: