|
#include<iostream>
using namespace std;
int fun(int n,int k);
int main()
{
int n,k;
int m;
cin>>n>>k;
while(1)//不断输入M,N当M=0,N=0时退出
{
if(n==0&&k==0)return 0;
m=fun(n,k);
cout<<m<<endl;
cin>>n>>k;
}
getchar();
return 0;
}
int fun(int n,int k)
{
int f;
if(n==k)f=1;
else if(n>1&&k==1)f=n;
else if(n>0&&k==0)f=1;
else if(n>k&&k>0)
f=fun(n-1,k)+fun(n-1,k-1);
else exit(1);
return f;
}
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
这样编写没有错,但这个递归太耗时了,谁可以修改下,运行快点 |
|