题目描述
如下图,两个相连的正方形,边长分别为a,b(1≤a≤b≤500),连接对角线,将正方形分成两个部分,求蓝色区域的面积。
输入
第一行是一个整数T(1≤T≤10000),表示样例的个数。
以后每行一个样例,为两个整数a,b。
输出
依次输出每个样例的结果,如果是一个分数,输出分数形式,保证分子分母互质,否则输出一个整数。
样例输入
2 2 2 1 2
样例输出
6 10/3
思路:用三角形相似,把中间2段线长度用a,b表示出来,再用梯形面积相加得到阴影部分总和面积公式; 保证互质,分子分母分开计算最后判断得到互质数
#include<stdio.h>
int gcd(int a,int b)
{
int c = a%b;
while(c)
{
a = b;
b = c;
c = a%b;
}
return b;
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int a, b;
scanf("%d %d",&a,&b);
int fenzi = 2*a*b*b+2*a*a*a+a*a*b+b*b*b;
int fenmu = 2*a+2*b;
if(fenzi%fenmu==0)
printf("%d\n",fenzi/fenmu);
else
printf("%d/%d\n",fenzi/gcd(fenzi,fenmu),fenmu/gcd(fenzi,fenmu));
}
}