*题意:
在给定的方格中,按照只能向右向上的格式,求有几种方式可以从左下方到右上方。
分析:
根据方格的规模,m×n,肯定向右m次,向上n次,所以问题转化为从m+n步中选取m步向右(剩余的n步 自然向上)。
在求组合是尽量简化运算。
*代码:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
long long int a,b,m,n,ans,count;
while(cin>>a>>b)
{
if(a==0&&b==0)
break;
m=a;
n=a+b;
ans=1;
if(m>n-m)m=n-m;
count=m;
while(count--)
{
ans*=n--;
while(ans%m==0&&m>1)
ans/=m--;
}
cout<<ans<<endl;
}
return 0;
}