5695羅区アプリケーションの[NOI2001】アークタンジェント関数

タイトル

Qは、それぞれ所定の\(A \)を正の整数が存在するかどうか、\(B、C \)は
それほど満足[\アークタンジェント(\ FRAC {\ 1} {})= \アークタンジェント(\ FRAC {1} {B})+ \逆正接( \ FRAC {1} {C})\] 程度の場合と\(B + C \)最小値、および取得\(B + C \)


分析

トピックが挙げため\ [アークタンジェント(P)+逆正接(Q)=逆正接(\ FRAC {P} + {Q} 1-PQ)\] ケースを見つけることであるよう\ [\ FRAC {1} {} = \ FRAC {\
FRAC {1} {B} + \ FRAC {1} {C}} {1- \ FRAC {1} {BC}} \] 与えるために簡略化\(\ FRAC {1} { A} = \ FRAC {B +
C} {BC-1} \) が、キーがである\(B + C \)\(\)(B、C \)\いずれかで表され、
次に検討第表す\(C \)、次いで\ [C = \ FRAC {AB
+ 1} {BAを} \] ので\ [B + C = B +
\ FRAC {AB + 1} {BA} \] 考慮すべきである(\ B \)キー、その後に\ [B + C = \ {FRAC B ^ 2 + A-B&AB& - + 1} {BA} = \ {FRAC 1 B ^ 2} + {BA} \]
\ [= \ FRAC {B ^ 2 ^ 2 + A ^ 2 + 1} {BA} {^ 2 + 1} {BA} =(B-A)= B + A + \ FRAC + \ FRAC {^ 2 + 1} { BA} + 2A(2aが一定である)\]
こと\(Y = AX + B / X \) ティック関数、Iは平方根を解決するために脳を作ることができるように中学生を使用することができ、および\(A ^ 2 + 1は\)する必要があります(BA \)\倍数、結果が出てきたので、


コード

#include <cstdio>
#define rr register
using namespace std;
int A,a; long long t;
signed main(){
    scanf("%d",&a),A=a;
    for (t=1ll*a*a+1;t%A;++A); A+=a;
    return !printf("%lld",A+(1ll*a*A+1)/(A-a));
}

おすすめ

転載: www.cnblogs.com/Spare-No-Effort/p/12109890.html