庞果网 原题如下
题目详情
这是一道几何概型的题,具体就是把[0,a],[0,b]当成x轴与y轴
解r = (点c在x,y轴组成的三角形面积相交正方形a*b的面积)/a*b
举例如下,a=10,b=5,c=9
那么最后的结果r = 暗红色的面积/a*b
暗红色面积=长高都为c的直角三角形面积,减去蓝色三角形的面积
如果当a也小于c的时候还要减去另外一个小三角形的面积
即
r = (c*c- (c-b)*(c-b)-(c-a)*(c-a))/2*a*b
结果需要约分,还需要另求一个gcd
全部代码如下
using System;
public class Test
{
public static string calculate(int a,int b,int c)
{
if (a + b <= c) {
return "1/1";
}
int r1 = c-b>0?c-b:0;
int r2 = c-a>0?c-a:0;
int up = c*c - r1*r1-r2*r2;
int down = 2*a*b;
int i = gcd(down, up);
return (up / i) + "/" + (down / i);
}
public static int gcd(int down, int up) {
if (down % up == 0) {
return up;
}
else {
return gcd(up, down % up);
}
}
//start 提示:自动阅卷起始唯一标识,请勿删除或增加。
public static void Main()
{
Console.WriteLine(calculate(0,0,0));
}
//end //提示:自动阅卷结束唯一标识,请勿删除或增加。
}