首页 > 其他 > 详细

HDU 3903 Trigonometric Function (三角恒等式&余弦定理)

时间:2014-03-09 17:44:56      阅读:553      评论:0      收藏:0      [点我收藏+]

http://acm.hdu.edu.cn/showproblem.php?pid=3903


如何判断bubuko.com,布布扣的有理性?


由这三个式子:

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

问题可化归为判断A,B,C的正弦和余弦是否为有理数,又由余弦定理

bubuko.com,布布扣
bubuko.com,布布扣

bubuko.com,布布扣

以及

cos(arccos x)=x

bubuko.com,布布扣

若x=p/q,则sqrt(1-x^2)=sqrt(q^2-p^2)/q

故只需判断q^2-p^2是否为完全平方数即可。


完整代码:

/*281ms,356KB*/

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;

int main()
{
	int icase;
	scanf("%d", &icase);
	__int64 a, b, c, n, m, k;
	while (icase--)
	{
		cin >> a >> b >> c >> n >> m >> k;
		__int64 d = 4 * b * b * c * c - (b * b + c * c - a * a) * (b * b + c * c - a * a);
		__int64 e = 4 * b * b * a * a - (a * a + b * b - c * c) * (a * a + b * b - c * c);
		__int64 f = 4 * a * a * c * c - (a * a + c * c - b * b) * (a * a + c * c - b * b);
		__int64 x, y, z;
		x = sqrt(d);
		y = sqrt(e);
		z = sqrt(f);
		if (x * x == d && y * y == e && z * z == f) puts("YES");
		else puts("NO");
	}
}

HDU 3903 Trigonometric Function (三角恒等式&余弦定理),布布扣,bubuko.com

HDU 3903 Trigonometric Function (三角恒等式&余弦定理)

原文:http://blog.csdn.net/synapse7/article/details/20838077

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!