题目描述
小明非常喜欢做a+b的练习,他不清楚自己是否做对了,所以想找小文帮他看一下。 但是小文不喜欢做a+b,所以他只是随意地抽了3题来看一下。 假设小明做了n道,对了m道,那么抽的这三道题都对的概率是多少?
输入
第一行是一个整数K,表示样例的个数。 每个样例占一行,为两个整数n和m,0≤m≤n≤1,000 且3≤n。
输出
每行输出一个样例的结果,如果概率是1或者0,输出1或0。否则输出a/b的分数形式,a和b互质。
代码如下:
#include<stdio.h>
int main() {
int k = 0;
scanf("%d", &k);
while(k--)
{
int n, m;
scanf("%d %d", &n, &m);
if (m <= 2)printf("0\n");
else if (m == n)printf("1\n");
else {
int N, M, t;
M = m * (m - 1) * (m - 2);
N = n * (n - 1) * (n - 2);
while (N != 0) {
t = M % N;
M = N;
N = t;
}
n = n * (n - 1) * (n - 2) / M;
m = m * (m - 1) * (m - 2) / M;
printf("%d/%d\n", m, n);
}
}
}
注意:
当写对的题数未达到m道时概率永远为零