来源:ccpc 2020 女生赛(秦皇岛赛区)A题,测试平台PTA
给 r个红气球和 b 个蓝气球,从所有气球里面拿两个气球,都是红色的概率,用分数表示。
如果不可能拿到两个红色气球,输出 0/1 。
第一行一个 T表示测试组数。
之后每一行两个数字 r,b分别表示红蓝气球个数。
1≤T≤10
1≤r,b≤100
"Case #x: y"格式输出答案,一行一个答案。
输入:
3 1 1 2 1 8 8输出:
Case #1: 0/1 Case #2: 1/3 Case #3: 7/30很友好的签到题呀⁝⁞⁝⁞ʕु•̫͡•ʔु☂⁝⁞⁝⁝
就是要注意约分哈。
公式就是
代码奉上:
#include<bits/stdc++.h> using namespace std; int main () { int t; scanf("%d",&t); for(int o=1;o<=t;o++) { int r; int b; scanf("%d%d",&r,&b); if(r<2) { printf("Case #%d: 0/1\n",o); continue; } long long z=r*(r-1); long long m=(r+b)*(r+b-1); long long gcd;//gcd是最大公约数 for(gcd=min(z,m);gcd>=2;gcd--) if(z%gcd==0&&m%gcd==0) break; printf("Case #%d: %d/%d\n",o,z/gcd,m/gcd); } return 0; }然后就完成啦。。。欢迎大家友好评,然后有啥问题欢迎dd!
