题目地址请点击——


ARCTAN


Description

相信大家都看得懂英文吧,我就不翻译了吧…………

It is easy to know that

arctan(1/2)+arctan(1/3)=arctan(1)

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)

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(α+β)=1A,tanβ=1B,tanα=1C

tan(α+β)=\frac{1}{A},tanβ=\frac{1}{B},tanα=\frac{1}{C}

A=BC−1B+C

A=\frac{BC-1}{B+C}
设 B+C=k B+C=k,则

BC=Ak+1

BC=Ak+1,
则 B、C B、C 为一元二次方程

x2−kx+Ak+1=0

x^2-kx+Ak+1=0的两个根。
那么

k2−4Ak−4

k^2-4Ak-4 为完全平方数。
设 k2−4Ak−4=s2 k^2-4Ak-4=s^2,

k=4A+16A2+16+4s2−−−−−−−−−−−−−√2=2A+4A2+s2+4−−−−−−−−−−−√

\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相关推荐

  1. 关于ArcTan的一个公式--ArcTan(a)+ArcTan(b)

    关于ArcTan的一个公式--ArcTan(a)+ArcTan(b)   今天在查ArcTan的公式ArcTan(a)+ArcTan(b)的时候,发现现在网上能查到的都是错的.先看一下百度百科和互动百 ...

  2. arctan函数加上90°;arctan(a/b)与arctan(b/a)的关系

  3. Java、Scala使用tan和arctan求斜率和倾斜角

    实现代码 import java.text.DecimalFormatobject Test1 {def main(args: Array[String]): Unit = {val tan1 = g ...

  4. 复变函数和积分变换(Complex Function I)

    本站已停止更新,查看最新内容请移至本人博客 Wilen's Blog 数学物理方法 复数与复变函数 复数(Complex Number) 平面点集(Planar Point Set) 复变函数(Com ...

  5. Delphi procedure and function

    [标准函数和过程] 首部 procedure Abort;$[SysUtils 功能 引起放弃的意外处理. 说明 不显示任何错误信息. 首部 function Abs(N: ): ;$[System ...

  6. 利用OpenCV进行边缘检测

    简 介: 本文讨论了图像处理中重要的技术:边缘检测,重点介绍了两种方法(Sobel边缘检测和Canny边缘检测).在展示OpenCV中的用法 同时也强调了为什么图像平滑是重要的预处理步骤.在Canny ...

  7. python求不规则图形面积_python 微积分之---黎曼和

    黎曼求和 这里有一块形状不规则的土地,要测量它的面积,怎么办呢?一个叫黎曼的德国数学家(Bernhard Riemann, 1826-1866),他想了个办法:将这不规则图形切成一条条的小长条儿,然后 ...

  8. Delphi常用系统函数总结

    字符串处理函数 Unit System 函数原型 function Concat(s1 [, s2,..., sn]: string): string; 说明 与 S := S1 + S2 + S3 ...

  9. 机器学习面试题总结!!!!

    需要内推三七互娱的盆友萌,(9月5号截止)可以参考另一篇文章,或者内推QQ群:175423207 BAT机器学习面试系列 1.请简要介绍下SVM. SVM,全称是support vector mach ...

最新文章

  1. 淘宝李晓拴:淘宝网PHP电子商务应用
  2. 使用Hystrix实现自动降级与依赖隔离[微服务]
  3. 关于startActivityForResult
  4. hadoop2.4.1+hbase0.98.3实现的分布式网盘系统初步(已开源)
  5. 服务器ghost到虚拟机,无需U盘用Ghost还原vmware内虚拟机系统的方法
  6. CodeSmith--SchemaExplorer类结构详细介绍
  7. JAVA:数组,排序,查找4
  8. SQL Server实例的十大安全注意事项
  9. linux下矩阵键盘设备名,Linux下矩阵键盘驱动分析与移植
  10. 仓库选址(排序不等式)
  11. Android GMS 包。 GOOGLE play
  12. vs2010专业版下载链接
  13. Frame-relay帧中继网络配置手册
  14. ViewBinding使用时出现Could not find method viewBinding() for arguments错误
  15. shell 后台运行
  16. 首届“梧桐杯”大数据应用创新大赛复赛晋级名单发布
  17. css float与学习骑自行车
  18. 关于IntelliJ IDEA
  19. 关于T—SQL与SQL企业管理器
  20. Python turtle画小猪佩奇

热门文章

  1. 群发邮件怎么发,什么邮箱适合群发邮件?
  2. win10系统打开计算机慢,Windows10系统打开文件夹速度很慢如何解决
  3. 【贪心】FatMouse‘s Trade
  4. 3D建模软件有哪些?怎么才能掌握3D建模软件?
  5. clustalw序列比对_几个多序列比对软件:Muscle,ClustalW和T-coffee的简单比较
  6. 德国精品软件 看图软件介绍 Ashampoo® Photo Commander 12
  7. VB6工程在Win10系统打开提示MSCOMCTL.OCX无法加载
  8. 液压控制系列之活塞位置测量(带原点标定功能)
  9. 绝地求生怎么下载安装(免费教你安装绝地求生)
  10. 一种光谱无损的遥感数据融合方法——LiIFT插值融合(一)