用C++求a!+b!+c!(“!”表示阶乘)的值?急!!!
6个回答
展开全部
#include<iostream>
using namespace std;
int main()
{
int a,b,c;
int f(int );
cout<<"请输入a b c ,用空格隔开:";
cin>>a>>b>>c;
int s = f(a) + f(b) + f(c);
cout<<s<<endl;
return 0;
}
int f(int a)
{
int num = 1;
for(int i=1;i<=a;i++)
{
num *= i;
}
return num;
}
测试过,结果对了。代码没什么别扭的地方,有哪里不懂的话可以问我,呵呵
using namespace std;
int main()
{
int a,b,c;
int f(int );
cout<<"请输入a b c ,用空格隔开:";
cin>>a>>b>>c;
int s = f(a) + f(b) + f(c);
cout<<s<<endl;
return 0;
}
int f(int a)
{
int num = 1;
for(int i=1;i<=a;i++)
{
num *= i;
}
return num;
}
测试过,结果对了。代码没什么别扭的地方,有哪里不懂的话可以问我,呵呵
展开全部
本人亲自调试运行通过,有问题再联系
#include<iostream>
using namespace std;
int main()
{
int a,b,c,i,A,B,C;
int total;
cout<<"请输入a,b,c的值,以空格键隔开,如1 2 3:\n";
cin>>a>>b>>c;
A=B=C=1;
for(i=1;i<=a;i++)
A*=i;
for(i=1;i<=b;i++)
B*=i;
for(i=1;i<=c;i++)
C*=i;
total=A+B+C;
cout<<a<<"!+"<<b<<"!+"<<c<<"!="<<total<<endl;
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int a,b,c,i,A,B,C;
int total;
cout<<"请输入a,b,c的值,以空格键隔开,如1 2 3:\n";
cin>>a>>b>>c;
A=B=C=1;
for(i=1;i<=a;i++)
A*=i;
for(i=1;i<=b;i++)
B*=i;
for(i=1;i<=c;i++)
C*=i;
total=A+B+C;
cout<<a<<"!+"<<b<<"!+"<<c<<"!="<<total<<endl;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<iostream.h>
long f1(int n);
void main()
{
int a,b,c;
long s;
cout<<"请输入a,b,c的值,以空格键隔开";
cin>>a>>b>>c;
s=f1(a)+f1(b)+f1(c);
cout<<a<<"!+"<<b<<"!+"<<c<<"!="<<s<<endl;
}
long f1(int n)
{
long f;
if(n>1)
f=n*f1(n-1);
else
f=1;
return f;
}
这个是用递归方法求的,运行速度还可以,程序也调试过了。
long f1(int n);
void main()
{
int a,b,c;
long s;
cout<<"请输入a,b,c的值,以空格键隔开";
cin>>a>>b>>c;
s=f1(a)+f1(b)+f1(c);
cout<<a<<"!+"<<b<<"!+"<<c<<"!="<<s<<endl;
}
long f1(int n)
{
long f;
if(n>1)
f=n*f1(n-1);
else
f=1;
return f;
}
这个是用递归方法求的,运行速度还可以,程序也调试过了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自己写一个吧。已经编译运行无误。
#include <iostream>
using namespace std;
unsigned factorial(int n)//计算n的阶乘
{
int i=n;
unsigned result=1;
do
{
result*=i;
} while(--i);
return result;
}
int main()
{
unsigned a=factorial(2),b=factorial(3),c=factorial(4);
//a=2,b=6,c=24
cout<<a+b+c<<endl;
return 0;
}
#include <iostream>
using namespace std;
unsigned factorial(int n)//计算n的阶乘
{
int i=n;
unsigned result=1;
do
{
result*=i;
} while(--i);
return result;
}
int main()
{
unsigned a=factorial(2),b=factorial(3),c=factorial(4);
//a=2,b=6,c=24
cout<<a+b+c<<endl;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
using namespace std;
int fac(int);
int main()
{
int a,b,c;
cout<<"input a,b,c"<<endl;
cin>>a>>b>>c;
cout<<"a!+b!+c!="<<fac(a)+fac(b)+fac(c)<<endl;
return 0;
}
int fac(int n)//阶乘函数
{int i,sum=1;
for(i=1;i<=n;i++)
{sum=sum*i;}
return sum;
}
希望对你有所帮助 我运行了可以运行
using namespace std;
int fac(int);
int main()
{
int a,b,c;
cout<<"input a,b,c"<<endl;
cin>>a>>b>>c;
cout<<"a!+b!+c!="<<fac(a)+fac(b)+fac(c)<<endl;
return 0;
}
int fac(int n)//阶乘函数
{int i,sum=1;
for(i=1;i<=n;i++)
{sum=sum*i;}
return sum;
}
希望对你有所帮助 我运行了可以运行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询