ARCTAN - Use of Function Arctan
题目地址请点击——
ARCTAN
Description
相信大家都看得懂英文吧,我就不翻译了吧…………
It is easy to know that
arctan(1/2)+arctan(1/3)=arctan(1)
Given number A A, write a program to calculate the minimum sum B+CB+C.
A A,BB and C C are all positive integers and satisfy the equation below:
arctan(1/A)=arctan(1/B)+arctan(1/C)
Input
The first line contains a integer number T T(about 10001000).
T T lines follow,each contains a single integer AA, 1≤A≤60000 1\leq A\leq 60000.
Output
T T lines,each contains a single integer which denotes to the minimum sum B+CB+C.
Sample Input
1
Sample Output
5
Solution
解法一:附上扫雷神犇Cai的坑爹解法。
解法二:
由
tan(α+β)=\frac{1}{A},tanβ=\frac{1}{B},tanα=\frac{1}{C}
得
A=\frac{BC-1}{B+C}
设 B+C=k B+C=k,则
BC=Ak+1,
则 B、C B、C 为一元二次方程
x^2-kx+Ak+1=0的两个根。
那么
k^2-4Ak-4 为完全平方数。
设 k2−4Ak−4=s2 k^2-4Ak-4=s^2,
\begin{align*} k&=\frac{4A+\sqrt{16A^2+16+4s^2}}{2}\\ &=2A+\sqrt{4A^2+s^2+4} \end{align*}
则 4A2+s2+4−−−−−−−−−−−√ \sqrt{4A^2+s^2+4} 为完全平方数。
设 4A2+s2+4=r2 4A^2+s^2+4=r^2,则 4A2+4=(r+s)(r−s) 4A^2+4=(r+s)(r-s)
枚举 4A2+4 4A^2+4 的约数即可。
Code
因为有代码长度限制,所以读者在复制代码的时候请注意删除缩进以及空格…………
#include<iostream>
#include<cmath>typedef unsigned long long L;
using namespace std;L t,i,T,a,b,k;main(){cin>>t;while(t--){cin>>a;T=a*a*4+4;b=sqrt(T);i=b+1;while(--i)if(!(T%i)&&!((i+T/i)&1)){k=(T/i-i)/2;break;}cout<<2*a+L(sqrt(T+k*k)+0.5)<<endl;}return 0;
}
ARCTAN - Use of Function Arctan相关推荐
- 关于ArcTan的一个公式--ArcTan(a)+ArcTan(b)
关于ArcTan的一个公式--ArcTan(a)+ArcTan(b) 今天在查ArcTan的公式ArcTan(a)+ArcTan(b)的时候,发现现在网上能查到的都是错的.先看一下百度百科和互动百 ...
- arctan函数加上90°;arctan(a/b)与arctan(b/a)的关系
- Java、Scala使用tan和arctan求斜率和倾斜角
实现代码 import java.text.DecimalFormatobject Test1 {def main(args: Array[String]): Unit = {val tan1 = g ...
- 复变函数和积分变换(Complex Function I)
本站已停止更新,查看最新内容请移至本人博客 Wilen's Blog 数学物理方法 复数与复变函数 复数(Complex Number) 平面点集(Planar Point Set) 复变函数(Com ...
- Delphi procedure and function
[标准函数和过程] 首部 procedure Abort;$[SysUtils 功能 引起放弃的意外处理. 说明 不显示任何错误信息. 首部 function Abs(N: ): ;$[System ...
- 利用OpenCV进行边缘检测
简 介: 本文讨论了图像处理中重要的技术:边缘检测,重点介绍了两种方法(Sobel边缘检测和Canny边缘检测).在展示OpenCV中的用法 同时也强调了为什么图像平滑是重要的预处理步骤.在Canny ...
- python求不规则图形面积_python 微积分之---黎曼和
黎曼求和 这里有一块形状不规则的土地,要测量它的面积,怎么办呢?一个叫黎曼的德国数学家(Bernhard Riemann, 1826-1866),他想了个办法:将这不规则图形切成一条条的小长条儿,然后 ...
- Delphi常用系统函数总结
字符串处理函数 Unit System 函数原型 function Concat(s1 [, s2,..., sn]: string): string; 说明 与 S := S1 + S2 + S3 ...
- 机器学习面试题总结!!!!
需要内推三七互娱的盆友萌,(9月5号截止)可以参考另一篇文章,或者内推QQ群:175423207 BAT机器学习面试系列 1.请简要介绍下SVM. SVM,全称是support vector mach ...
最新文章
- 淘宝李晓拴:淘宝网PHP电子商务应用
- 使用Hystrix实现自动降级与依赖隔离[微服务]
- 关于startActivityForResult
- hadoop2.4.1+hbase0.98.3实现的分布式网盘系统初步(已开源)
- 服务器ghost到虚拟机,无需U盘用Ghost还原vmware内虚拟机系统的方法
- CodeSmith--SchemaExplorer类结构详细介绍
- JAVA:数组,排序,查找4
- SQL Server实例的十大安全注意事项
- linux下矩阵键盘设备名,Linux下矩阵键盘驱动分析与移植
- 仓库选址(排序不等式)
- Android GMS 包。 GOOGLE play
- vs2010专业版下载链接
- Frame-relay帧中继网络配置手册
- ViewBinding使用时出现Could not find method viewBinding() for arguments错误
- shell 后台运行
- 首届“梧桐杯”大数据应用创新大赛复赛晋级名单发布
- css float与学习骑自行车
- 关于IntelliJ IDEA
- 关于T—SQL与SQL企业管理器
- Python turtle画小猪佩奇
热门文章
- 群发邮件怎么发,什么邮箱适合群发邮件?
- win10系统打开计算机慢,Windows10系统打开文件夹速度很慢如何解决
- 【贪心】FatMouse‘s Trade
- 3D建模软件有哪些?怎么才能掌握3D建模软件?
- clustalw序列比对_几个多序列比对软件:Muscle,ClustalW和T-coffee的简单比较
- 德国精品软件 看图软件介绍 Ashampoo® Photo Commander 12
- VB6工程在Win10系统打开提示MSCOMCTL.OCX无法加载
- 液压控制系列之活塞位置测量(带原点标定功能)
- 绝地求生怎么下载安装(免费教你安装绝地求生)
- 一种光谱无损的遥感数据融合方法——LiIFT插值融合(一)