ArbTangent/Ubsefor
ArbTangent/s02190164
t1from decimal import *t1from decimal import *
22
3def cos(x):3def cos(x):
4    getcontext().prec += 24    getcontext().prec += 2
5    (i, lasts, s, fact, num, sign) = (0, 0, 1, 1, 1, 1)5    (i, lasts, s, fact, num, sign) = (0, 0, 1, 1, 1, 1)
6    while s != lasts:6    while s != lasts:
7        lasts = s7        lasts = s
8        i += 28        i += 2
9        fact *= i * (i - 1)9        fact *= i * (i - 1)
10        num *= x ** 210        num *= x ** 2
11        sign *= -111        sign *= -1
12        s += num / fact * sign12        s += num / fact * sign
13    getcontext().prec -= 213    getcontext().prec -= 2
14    return +s14    return +s
1515
16def sin(x):16def sin(x):
17    getcontext().prec += 217    getcontext().prec += 2
18    (i, lasts, s, fact, num, sign) = (1, 0, x, 1, x, 1)18    (i, lasts, s, fact, num, sign) = (1, 0, x, 1, x, 1)
19    while s != lasts:19    while s != lasts:
20        lasts = s20        lasts = s
21        i += 221        i += 2
22        fact *= i * (i - 1)22        fact *= i * (i - 1)
23        num *= x ** 223        num *= x ** 2
24        sign *= -124        sign *= -1
25        s += num / fact * sign25        s += num / fact * sign
26    getcontext().prec -= 226    getcontext().prec -= 2
27    return +s27    return +s
2828
29def pi():29def pi():
30    getcontext().prec += 230    getcontext().prec += 2
31    three = Decimal(3)31    three = Decimal(3)
32    (lasts, t, s, n, na, d, da) = (0, three, 3, 1, 0, 0, 24)32    (lasts, t, s, n, na, d, da) = (0, three, 3, 1, 0, 0, 24)
33    while s != lasts:33    while s != lasts:
34        lasts = s34        lasts = s
35        (n, na) = (n + na, na + 8)35        (n, na) = (n + na, na + 8)
36        (d, da) = (d + da, da + 32)36        (d, da) = (d + da, da + 32)
37        t = t * n / d37        t = t * n / d
38        s += t38        s += t
39    getcontext().prec -= 239    getcontext().prec -= 2
40    return +s40    return +s
4141
42def tg(x, prec):42def tg(x, prec):
43    getcontext().prec = prec + 50043    getcontext().prec = prec + 500
44    x = x * Decimal('0.9') * pi() / 18044    x = x * Decimal('0.9') * pi() / 180
45    tg = sin(x) / cos(x)45    tg = sin(x) / cos(x)
46    getcontext().prec = prec46    getcontext().prec = prec
47    return +tg47    return +tg
48x = int(input())48x = int(input())
49prec = int(input())49prec = int(input())
50print(tg(x, prec))50print(tg(x, prec))
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op