XTU-OJ 1213-A+B III

文章讲述了如何解决小明做a+b题目练习的问题,涉及计算在给定正确答案比例m/n时,随机抽3道题全对的概率,使用了gcd函数和组合数学公式。给出的AC代码展示了计算方法。
题目描述

小明非常喜欢做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互质。

样例输入
3
3 0
3 3
4 3

样例输出
0
1
1/4

解题思路: 无话可说,看代码呗,gcd  ==> 最大公约数。 

AC代码:

#include <stdio.h>

int gcd(int x,int y){
    return y>0 ? gcd(y,x%y) : x;
}

int main()
{
    int K,n,m,Cn,Cm,t;
    scanf("%d",&K);
    while ( K --)
    {
        scanf("%d %d",&n,&m);
        if (m < 3)          puts("0");
        else if ( n == m)   puts("1");
        else
        {
            Cn = n*(n-1)*(n-2)/6;
            Cm = m*(m-1)*(m-2)/6;
            t = gcd(Cn,Cm);
            printf("%d/%d\n",Cm/t,Cn/t);
        }
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值