acdream.18.KIDx's Triangle(数学推导)
KIDx's Triangle
Problem Description
One day, KIDx solved a math problem for middle students in seconds! And than he created this problem.

Now, give you the degree of a, b, c, d, please calculate the degree of ∠AED.
Input
There are multiple test cases.
Each case contains one line 4 integers formatted as: "a b c d"
0 ≤ a, b, c, d < 90°.
0 < a+b < 90°, 0 < c+d < 90°.
Output
Sample Input
10 70 60 20
10 70 70 0
Sample Output
20.00
140.00
#include<stdio.h>
#include<math.h>
#define pi 3.141592653589793
double a , b , c , d ;
double BE , BD , DE , bata , AD , AE ; inline double f (double k)
{
return 1.0 * k * pi / ;
} int main ()
{
freopen ("a.txt" , "r" , stdin ) ;
while (~ scanf ("%lf%lf%lf%lf" , &a , &b , &c , &d)) {
if (a == ) {
printf ("0.00\n") ;
continue ;
}
AD = sin (f(c)) / sin (f(a + b + c)) ;
BD = sin (f(c + d)) / sin (f(a + b + c + d)) - sin (f(c)) / sin (f(a + b + c)) ;
BE = sin (f(a + b)) / sin (f(a + b + c + d)) - sin (f(b)) / sin (f(b + c + d)) ; DE = sqrt (1.0 * (BE * BE + BD * BD + * BE * BD * cos (f(a + b + c + d)))) ;
AE = sin (f(c + d)) / sin (f(b + c + d)) ;
bata = acos (1.0 * (DE * DE + AE * AE - AD * AD) / (2.0 * DE * AE)) * / pi;
// printf ("DE = %.2f , EF = %.2f , DF = %.2f\n" , DE , EF , DF) ;
// printf ("bata = %.2f\n" , bata * 180 / pi) ;
if (bata < )
printf ("%.2f\n" ,180.0 - bata) ;
else
printf ("%.2f\n" , bata) ;
}
return ;
}
标程中的大写字母表示角度,小写字母表示边长,注意0的特殊情况即可。
设CE = a = 1,AE = b,AC = c,BE = d,AB = e,AD = f,BD = g,DE = h
使用正弦定理可依次求出AE,AB,AD
然后利用余弦定理依次求出DE,∠AED
其他解法:建立坐标系搞,或者二分搞
acdream.18.KIDx's Triangle(数学推导)的更多相关文章
- 数学 ACdream 1196 KIDx's Triangle
题目传送门 /* 这道题花了好长时间AC,思路有,但是表达式少写了括号一直乱码,囧! 注意:a==0时要特判:) */ #include <cstdio> #include <alg ...
- 杭赛.Triangle(数学推导)
Triangle Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...
- 借One-Class-SVM回顾SMO在SVM中的数学推导--记录毕业论文5
上篇记录了一些决策树算法,这篇是借OC-SVM填回SMO在SVM中的数学推导这个坑. 参考文献: http://research.microsoft.com/pubs/69644/tr-98-14.p ...
- 关于不同进制数之间转换的数学推导【Written By KillerLegend】
关于不同进制数之间转换的数学推导 涉及范围:正整数范围内二进制(Binary),八进制(Octonary),十进制(Decimal),十六进制(hexadecimal)之间的转换 数的进制有多种,比如 ...
- 模拟 ACdream 1196 KIDx's Pagination
题目传送门 /* 简单模拟:考虑边界的情况输出的是不一样的,还有思维好,代码能短很多 */ #include <cstdio> #include <iostream> #inc ...
- UVA - 10014 - Simple calculations (经典的数学推导题!!)
UVA - 10014 Simple calculations Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & ...
- 『sumdiv 数学推导 分治』
sumdiv(POJ 1845) Description 给定两个自然数A和B,S为A^B的所有正整数约数和,编程输出S mod 9901的结果. Input Format 只有一行,两个用空格隔开的 ...
- LDA-线性判别分析(二)Two-classes 情形的数学推导
本来是要调研 Latent Dirichlet Allocation 的那个 LDA 的, 没想到查到很多关于 Linear Discriminant Analysis 这个 LDA 的资料.初步看了 ...
- leetcode 343. Integer Break(dp或数学推导)
Given a positive integer n, break it into the sum of at least two positive integers and maximize the ...
随机推荐
- 从士兵到程序员再到SOHO程序员
2013年9月13日,我从就职了一年半的S公司正式离职,并开始了我梦寐以求的“SOHO程序员”之路. 这对于我来说,是一次人生道路上的重要选择,在这里,我想分享一下我是如何选择了这条道路的,同时也是对 ...
- RVM 解决 Ruby 的版本问题
RVM 是一个命令行工具,可以提供一个便捷的多版本 Ruby 环境的管理和切换. RVM 的官网是 https://rvm.io/. 如果你打算学习 Ruby / Rails, RVM 是必不可少的工 ...
- node不懂的方法的使用
1. 学习的时候注意,过滤器,上传文件sftp,读取excel,还有cookie的操作,sql的操作.node的框架express koa hapi 还有引擎ejs,hbs,jade,日志管理等,并发 ...
- css写一个梯形
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>D ...
- javascript基础(1)
1.前言 ECMAscript解释,用来解释JS代码 DOM 文档对象模型,浏览器在做显示时需要渲染DOM树 BOM 浏览器对象模型,可以控制浏览器的行为,代码的兼容性很差 2.基本类型 数字类型: ...
- GridView的常规用法
GridView控件在Asp.net中相当常用,以下是控件的解释,有些是常用的,有些是偶尔用到的,查找.使用.记录,仅此而已.(最后附带DropDownList控件) ASP.NET中GridView ...
- JavaScript基础---语言基础(1)
写在前面: 通过四篇博客把JS基础中的基础整理一下,方便自己查阅,这些内容对于实际项目开发中也许并不会在意,但是作为JS的语言基础,自觉还是应该熟悉.在完成这三篇博客(JavaScript基础---语 ...
- WPF控件--利用Winform库中的NotifyIcon实现托盘小程序
WPF控件--NotifyIcon 运行界面如下所示: 图1 图2 代码很少,如下所示 ...
- [转载]ODAC (odp.net) 开发到部署
1. 确定你开发机和服务器的操作系统是32位还是64位, 而且要确定要部署的服务器是什么操作系统; 2. 下载开发机和服务器所需的dll, 地址:http://download.csdn.net/de ...
- Java-httpClient警告: Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended.
使用HttpClient,总是报出“Going to buffer response body of large or unknown size. Using getResponseBodyAsStr ...