Problem:


Problem G: Star

Problem

半径1の円に内接する正N/K角形の面積を求めよ。

  ただし、正N/K角形を
「円周上に等間隔にN個の点を取り、
    K-1個おきにそれぞれの点を結んだ一番外側の図形」
と定義する。

例えば、5/2角形は次のように描くことができる。
まず、半径1の円周上に等間隔に5つの点を取る。

次に、それぞれの点を2-1=1つおきに結ぶ。

一番外側の図形が正5/2角形になる。

Input

  入力は以下の形式で与えられる。

N K

  2つの整数 N, K が1行に与えられる。

Constraints

  入力は以下の制約を満たす。

  
5 ≤ N ≤ 106

  
1 < K < N/2 

  
 N,Kは互いに素である整数

Output

半径1の円に内接する正N/K角形の面積を1行に出力せよ。10-5以下の誤差が許容される。

Sample Input 1

5 2

Sample Output 1

1.12256994

正5/2角形は上記の図形である。

Sample Input 2

20 3

Sample Output 2

2.93114293

正20/3角形は下のような図形である。

Sample Input 3

7 3

Sample Output 3

1.08395920

Sample Input 4

100000 3

Sample Output 4

3.14159265



Sample input:
5 2


Sample output:
1.12256994

Submission status: Accepted

Solution code:
# AOJ 1593: Star
# Python3 2018.7.13 bal4u

import math
PI = 3.1415926535897932384626433832795
# area = n*r^2*sin(180/n)*cos(180k/n)*sec(180(k-1)/n), for n/k star
N, K = map(int, input().split())
print(N*math.sin(PI/N)*math.cos(K*PI/N)/math.cos((K-1)*PI/N))