三角形

【问题描述】:
一个六边形的每个内角均为120°,按顺时针给定它每条边的长度,求它的面积与边长为1的等边三角形的面积的比值。

【输入】:
一行六个整数a,b,c,d,e,f,表示六条边的长度。

【输出】:
一行一个整数表示面积的比值。

【解题思路】

关于这个题目,我一直比较崩溃,原因是这个题是一只神犇给我们出的,然后我就在想各种奇葩的方式,比如像切割神马的,后来……其实只需要把六边形的三条边延长,就会相交成为一个等边三角形,再然后减去三个小三角形。。。

顺便附上等边三角形求面积的公式 S=sqrt(3)/4 a^2

 1 program area;
 2 var a:array[1..6] of longint;
 3      i,l:longint;
 4 begin
 5     assign(input,'area.in'); reset(input);
 6     assign(output,'area.out'); rewrite(output);
 7     for i:=1 to 6 do read(a[i]);
 8     l:=a[1]+a[2]+a[6];
 9     write(l*l-a[2]*a[2]-a[4]*a[4]-a[6]*a[6]);
10     close(input); close(output);
11 end.
原文地址:https://www.cnblogs.com/wuminyan/p/4744002.html