用递归求既阶乘求m n的组合数

来源:互联网 发布:usr local bin node 编辑:程序博客网 时间:2024/05/18 03:45

 第2周报告2:

 实验目的:用递归求既阶乘求m n的组合数

程序的版权和版本声明部分* Copyright (c) 2011,

烟台大学计算机学院学生 * All rights reserved.* 文件名称:

 * 作 者:石丽君

 * 完成日期: 2012年 2月27 日*

 版 本 号: *

* 算法设计

#include <iostream>using namespace std;long fac(int n){long f;if(n<0){cout<<"n<0;data error!"<<endl;f=-1;}elseif(n==0||n==1) f=1;else f=fac(n-1)*n;return f;}int main (){long y1,y2,y3;int m,n,k,y;cout<<"请输入两个数" ;cin>>m>>n;if(m==n) { y=1;}else if(m>n){y1=fac(m);y2=fac(n);k=m-n;y3=fac(k);y=y1/(y2*y3);}else{y1=fac(n);y2=fac(m);k=n-m;y3=fac(k);y=y1/(y2*y3);}cout<<"m"<<" "<<"n"<<"的组合数为"<<y<<endl;return 0;}


感想:好高兴,这是我自己全权完成的程序

经验积累:long整形只能到13的阶乘

原创粉丝点击