代码如下:
#include <iostream>
using namespace std;
long long pq(int n)
{
if (n==0 || n==1)
return 1;
else
return n*pq(n-1);
}
int main()
{
int m,n;
cout << "请输入m和n(m>=n>=0)";
while (1)
{
cin >> m>>n;
if( m>=n && n>=0)
break;
else
cout << "输入不合法,请重新输入:";
}
long long s1 = pq(m); //计算m的阶乘
long long s2 = pq(n); //计算n的阶乘
long long s3 = pq(m-n);
cout << s1/(s2*s3);
return 0;
}
#include <stdio.h>
double pq(int n)
{
double s = 1;
for(int i=1;i<=n;i++)
s*=i;
return s;
}
int main()
{
int m,n;
scanf("%d%d",&m,&n);
if(m<0 || n<0 || m<n)
{
printf("输入错误 ");
return 0;
}
printf("%.lf",pq(n)/(pq(m)*(pq(n-m));
return 0;
}