- 定义一个求组合数的类C,求组合数C(m,r),其中C(m,r)=m!/(r!*(m-r)!)。具体要求如下:
(1)私有数据成员
int m,n;
int c; //C(m,r)的值
(2)公有成员函数
C(int x,int y):
构造函数,以参数初始化m和n
int f(int n):辅助函数,求n!
void fun():功能函数,求数据成员c的值
void print():功能函数,输出数据成员
(3)设计一个完整的程序对该类进行测试。
#include <iostream>
using namespace std;
class C{
int m,r;
int c;
public:
C(int x=0,int y=0)
{m=x;r=y;}
int f(int n)
{ int x=1;
for(int i=1;i<=n;i++)
x*=i;
return x;}
void fun()
{ c=f(m)/(f(r)*f(m-r));}
void print()
{cout<<"C("<<m<<","<<r<<")="<<c;}
};
int main()
{ cout<<"请输入组合数C(m,r)的m和r(m>r)"<<endl;
int a,b;
cin>>a>>b;
C t(a,b);
t.fun();
t.print();
return 0;}