试试效果
没有的
阶乘用递归方法,剩下两个应该不难吧!有的书上就有原题。
#include<iostream.h>
int f(int n)
{
if(n==1||n==0)return 1;
else return n*f(n-1);
}
void main()
{
int n,sum=0,m;
cout<<"请问你要计算几个数的阶乘,请输入你要计算的阶乘数的个数\n";
cin>>n;
for(int i=0;i<n;i++)
{
cin>>m;
sum+=f(m);
}
//这里是求N个数的阶乘,并求和,但还不够完善,自己改改吧
cout<<"sum="<<sum<<endl;
}
//下面函数的功能是求N个数之和的递归函数(即1+2+3+…..+n)
#include<iostream.h>
int sum(int n)
{
if(n==1) return 1;
else return n+sum(n-1);
}
void main()
{
int n;
// int c=0;
cout<<"请输入你要计算的数的最后一个数"<<endl;
cin>>n;
sum(n);
cout<<" 从一到"<<n<<"相加后是SUM="<<sum(n)<<endl;
}
//自己要多动手,我都是自己动手写的
楼上的方法
存在一个小bug
就是n不能太大
不然可能造成内存溢出
java当中有个大数值类BigDecimal~
不知道c / c++ 对应的是什么~
用递归做
