POJ 1183 反正切函式的應用(數論)

2021-07-03 09:45:56 字數 859 閱讀 1759

description

arctan(1/a)=arctan(1/b)+arctan(1/c) 其中a,b和c均為正整數。

對於每乙個給定的a(1 <= a <= 60000),求b+c的值。我們保證對於任意的a都存在整數解。如果有多個解,要求你給出b+c最小的解。

input

輸入檔案中只有乙個正整數a,其中 1 <= a <= 60000。

output

輸出檔案中只有乙個整數,為 b+c 的值。

sample input

1sample output

5solution

1/a = (1/b + 1/c)/ (1 - 1/(b*c))

=> bc-1 = a(b+c)

假設b=a+m,c=a+n (b和c永遠比a大)

(a+m)(a+n)-1=a(a+m+a+n)

=> a*a+a*n+a*m+m*n-1=2*a*a+m*a+n*a

=> m*n=a*a+1

故對m從a到1列舉,只要a*a+1|m即滿足條件

code

#include

typedef long long ll;

int main()

ans=(a*a+1)/m+m+2

*a;//b+c的值

printf("%lld\n",ans);

}return

0;}

poj1183 反正切函式

第一道poj的題更博,類似於博主這種英文水平,也就切一切這種中文題了吧!題目大意 給你正整數a,求滿足條件的 b 和 c,使得 frac frac frac 且 b c 的和最小。注釋 1 a 60,000 想法 乍一看,數論啊!嘻嘻嘻嘻,好開心,但是沒做出來。問了一下神犇ck蛤學長,掌握了一種極猛...

poj 1183 反正切函式的應用

description 反正切函式可展開成無窮級數,有如下公式 使用反正切函式計算pi是一種常用的方法。例如,最簡單的計算pi的方法 pi 4arctan 1 4 1 1 3 1 5 1 7 1 9 1 11 公式 2 然而,這種方法的效率很低,但我們可以根據角度和的正切函式公式 tan a b t...

(POJ 1183)反正切函式的應用

反正切函式的應用 description 反正切函式可展開成無窮級數,有如下公式 使用反正切函式計算pi是一種常用的方法。例如,最簡單的計算pi的方法 pi 4arctan 1 4 1 1 3 1 5 1 7 1 9 1 11 公式 2 然而,這種方法的效率很低,但我們可以根據角度和的正切函式公式 ...