您现在的位置是:主页 > news > 免费网站哪个好/惠州seo优化
免费网站哪个好/惠州seo优化
admin2025/5/13 3:25:31【news】
简介免费网站哪个好,惠州seo优化,wordpress弹窗警告,软件设计app又是一个一波三折的一题 题目描述 ACM CLUB的会员越来越多了,为此,ACM CLUB想为会员们准备一个晚会,晚会节目由会员们表演。消息一出,报名要表演节目的会员很多,多达N个,但是由于场地和时间有限࿰…
免费网站哪个好,惠州seo优化,wordpress弹窗警告,软件设计app又是一个一波三折的一题
题目描述 ACM CLUB的会员越来越多了,为此,ACM CLUB想为会员们准备一个晚会,晚会节目由会员们表演。消息一出,报名要表演节目的会员很多,多达N个,但是由于场地和时间有限࿰…
又是一个一波三折的一题
题目描述
ACM CLUB的会员越来越多了,为此,ACM CLUB想为会员们准备一个晚会,晚会节目由会员们表演。消息一出,报名要表演节目的会员很多,多达N个,但是由于场地和时间有限,只能从这N个人中选M个,请问一共有多少种选择方法?
输入
数据的第一行是一个正整数T,接下来有T组数据,每组数据占一行。
每组数据包含两个整数N(来报名的人数,1<=N<=30),M(节目需要的人数0<=M<=30)。
输出
每组数据输出一个整数,每个输出占一行。
样例输入
5
3 2
5 3
4 4
3 6
8 0
样例输出
3
10
1
0
1
最开始的代码,只过了50%
#include <cstdio>
#include <cmath>
#include <iostream>
#include <algorithm>using namespace std;//递归求n!
int fac(int n)
{//递归出口:0! = 1! = 1if (n == 0 || n == 1) return 1;return fac(n - 1) * n;
}int main()
{int t;cin >> t;while (t--){int n,m;cin >> n >> m;if (m == 0 || n == m) cout << 1 << endl;//8选0 and 4选4else if (n < m) cout << 0 << endl;//3选6else if (n > m) cout << fac(n) / fac(m) / fac(n - m) << endl;//3选2 and 5选3}return 0;
}
从大佬那听说这题要把数据类型改成double才可以过…顺便把递归换成了非递归防止MLE
AC代码:
%.0f 表示输出浮点数的整数部分(小数点以下占0位)
#include <cstdio>
#include <cmath>
#include <iostream>
#include <algorithm>using namespace std;double fac(int n)
{double res = 1.0;for (int i = 1;i <= n;i++) res *= i;return res;
}int main()
{int t;scanf("%d",&t);while (t--){int n,m;scanf("%d%d",&n,&m);double ans = fac(n) / fac(m) / fac(n - m);if (m == 0 || n == m) printf("1\n");else if (n < m) printf("0\n");else if (n > m) printf("%.0f\n",ans);}return 0;
}