连接

Use of Function Arctan

 

 Use of Function Arctan

Time Limit:10000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit   Status Description It's easy to know that arctan(1/2)+arctan(1/3)=arctan(1).The problem is,to some fixed number A,you have to write a program to calculate the minimum sum B+C.A,B and C are all positive integers and satisfy the equation below:

arctan(1/A)=arctan(1/B)+arctan(1/C)

Input The first line conta

ins a integer number T.T lines follow,each contains a single integer A, 1<=A<=60000.

Output T lines,each contains a single integer whic

h denotes to the minimum sum B+C.

Sample Input 1 1

 

 1 /*由题意知:B(C-A)=1+AC;B=(1+AC)/(C-A);B=A+(1+AA)/(C-A);C增B减;(易知B=C时B+C最小(此时B=C=a可能为小数,故只需B--枚举即可!!!))*/
 2 
 3 
 4 
 5 
 6 
 7 
 8 #include<stdio.h>
 9 typedef long long LL;
10 int main()
11 {
12     LL B,C,A,i,j,T;
13     scanf("%lld",&T);    
14     for(i=1;i<=T;i++)
15     {
16         scanf("%lld",&A);
17         LL tmp=2*A+2;
18         while((tmp--)>A)
19         if((A*tmp+1)%(tmp-A)==0)
20         {
21             B=(A*tmp+1)/(tmp-A);
22             printf("%lld\n",tmp+B);
23             break;
24         }    
25     }
26 }
View Code

 

 

posted @ 2013-08-01 21:31  朱群喜_QQ囍_海疯习习  阅读(230)  评论(0编辑  收藏  举报
Map