题目描述
在2013年1月4日,这个“爱你一生一世”的特别日子,男生都想向自己的喜欢的女生表达爱意。 你准备在该死的C语言考试后,去向她(或者他?)告白。告白怎么能缺了礼物了? 经过前期的情报收集,你了解到她喜欢的一些礼物,但是可能因为消息的不准确,其中有些 礼物并不是她喜欢。为了保险,你准备从其中挑选两件不同的礼物,请问至少有一件礼物她 会喜欢的概率。
输入
第一行是一个整数K,表示样例的个数。 以后每行两个整数N(2≤N≤10,000),表示礼物的个数和M(0 ≤ M ≤ N),表示不喜欢的礼物个数。
输出
输出每个样例的结果,如果概率是0或者1,输出0,1,其他情况输出分数形式a/b,保证a和b互质。
样例输入
3 4 0 4 2 4 4
样例输出
1 5/6 0
#include<stdio.h>
int main()
{
int k;
scanf("%d",&k);
while(k--)
{
int m,n;
int a,b;
scanf("%d %d",&n,&m);
if(m<=1)//一定喜欢
{
printf("1\n");
}
else if(m==n)//一定不喜欢
{
printf("0\n");
}
else
{ //一共有两种情况:1、两件都是喜欢的 2、一件喜欢一件不喜欢
a=(n-m)*(n+m-1);//分子
b=(n-1)*n;//分母
//求最大公约数
int a0=a,b0=b,t,gcd;
while(b>0)
{
t=a%b;
a=b;
b=t;
}
gcd=a;
printf("%d/%d\n",a0/gcd,b0/gcd);
}
}
return 0;
}
本文介绍了一个C语言考试后男生计划向心仪女生告白的故事。男生需要在不确定女生喜好礼物的情况下,挑选两件礼物,计算至少有一件礼物女生会喜欢的概率。通过输入礼物总数和不喜欢的礼物数,程序输出概率结果,考虑了最大公约数以简化分数形式。示例中给出了不同情况下的概率解答策略。
125

被折叠的 条评论
为什么被折叠?



