关于阶乘求和

cyy56 2017-11-11 06:18:37
不知道该怎么修改。。希望有大佬可以指点一下
#include<iostream>
#include<cmath>
int fac(int t)
{
int i;
if(t==1)
i=1;
else
{
i=t*fac(t-1);
}
return i;
}
using namespace std;
int main()
{
int i,n,b, sum;
cin>>n;
for(i=1;i>n;i++)
{
int sum=0;
int b=fac(i);
sum +=b;
}
cout<<"sum ="<<sum<<endl;
return 0;
}
...全文
377 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
自信男孩 2017-11-13
  • 打赏
  • 举报
回复
#include<iostream>
#include<cmath>

int fac(int t)
{
    if (t==1)
        return 1;
    else
        return  t*fac(t-1);
}

int main()
{
    using namespace std;
    int i, n, sum = 0;
    cin>>n;
    if (n > 14)
        return 0;
    for(i=1;i < n;i++)
    {
        int b = fac(i);
        sum += b;
    }
    cout<<"sum ="<<sum<<endl;

    return 0;
}
递归改一下,可以不用变量i; 递归有有效范围,若唱过13数据会溢出;
Dogfish 2017-11-12
  • 打赏
  • 举报
回复

 int i,n,b, sum;
//楼主要主要把变量初始化。
i=n=b=sum=0;
codedoctor 2017-11-11
  • 打赏
  • 举报
回复
int main()
{
	int i, n, b;
	cin >> n;
	int sum = 0;//在这里初始化
	for (i = 1; i < n; i++)//改成小于
	{
		//sum提出去进行初始化
		int b = fac(i);
		sum += b;
	}
	cout << "sum =" << sum << endl;
	return 0;
}

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧