Bernoulli sayıları (spesifik olarak, ikinci Bernoulli sayıları) Aşağıdaki yinelemeli tanımı ile tanımlanır:
Burada bir belirtmektedir kombinasyonu .
m
Girdi olarak negatif olmayan bir tamsayı verildiğinde , ondalık gösterimi VEYA m
ikinci Bernoulli numarası için azaltılmış bir kesri çıktısı alın . Ondalık gösterimi verirseniz, en az 6 ondalık basamağa (ondalık basamağın ardından rakam) sahip olmalısınız ve 6 basamağa yuvarlandığında doğru olmalıdır. Örneğin, için m = 2
, 0.166666523
kabul edilebilir bu yuvarlar için 0.166667
. 0.166666389
kabul edilebilir değil, çünkü yuvarlar 0.166666
. İzleyen sıfırlar ihmal edilebilir. Bilimsel gösterim, ondalık gösterimler için kullanılabilir.
İşte m
60'a kadar olan ve 6 ondalık basamağa yuvarlanan bilimsel gösterimde ve azaltılmış kesirler halinde girdi ve beklenen çıktı :
0 -> 1.000000e+00 (1/1)
1 -> 5.000000e-01 (1/2)
2 -> 1.666667e-01 (1/6)
3 -> 0.000000e+00 (0/1)
4 -> -3.333333e-02 (-1/30)
5 -> 0.000000e+00 (0/1)
6 -> 2.380952e-02 (1/42)
7 -> 0.000000e+00 (0/1)
8 -> -3.333333e-02 (-1/30)
9 -> 0.000000e+00 (0/1)
10 -> 7.575758e-02 (5/66)
11 -> 0.000000e+00 (0/1)
12 -> -2.531136e-01 (-691/2730)
13 -> 0.000000e+00 (0/1)
14 -> 1.166667e+00 (7/6)
15 -> 0.000000e+00 (0/1)
16 -> -7.092157e+00 (-3617/510)
17 -> 0.000000e+00 (0/1)
18 -> 5.497118e+01 (43867/798)
19 -> 0.000000e+00 (0/1)
20 -> -5.291242e+02 (-174611/330)
21 -> 0.000000e+00 (0/1)
22 -> 6.192123e+03 (854513/138)
23 -> 0.000000e+00 (0/1)
24 -> -8.658025e+04 (-236364091/2730)
25 -> 0.000000e+00 (0/1)
26 -> 1.425517e+06 (8553103/6)
27 -> 0.000000e+00 (0/1)
28 -> -2.729823e+07 (-23749461029/870)
29 -> 0.000000e+00 (0/1)
30 -> 6.015809e+08 (8615841276005/14322)
31 -> 0.000000e+00 (0/1)
32 -> -1.511632e+10 (-7709321041217/510)
33 -> 0.000000e+00 (0/1)
34 -> 4.296146e+11 (2577687858367/6)
35 -> 0.000000e+00 (0/1)
36 -> -1.371166e+13 (-26315271553053477373/1919190)
37 -> 0.000000e+00 (0/1)
38 -> 4.883323e+14 (2929993913841559/6)
39 -> 0.000000e+00 (0/1)
40 -> -1.929658e+16 (-261082718496449122051/13530)
41 -> 0.000000e+00 (0/1)
42 -> 8.416930e+17 (1520097643918070802691/1806)
43 -> 0.000000e+00 (0/1)
44 -> -4.033807e+19 (-27833269579301024235023/690)
45 -> 0.000000e+00 (0/1)
46 -> 2.115075e+21 (596451111593912163277961/282)
47 -> 0.000000e+00 (0/1)
48 -> -1.208663e+23 (-5609403368997817686249127547/46410)
49 -> 0.000000e+00 (0/1)
50 -> 7.500867e+24 (495057205241079648212477525/66)
51 -> 0.000000e+00 (0/1)
52 -> -5.038778e+26 (-801165718135489957347924991853/1590)
53 -> 0.000000e+00 (0/1)
54 -> 3.652878e+28 (29149963634884862421418123812691/798)
55 -> 0.000000e+00 (0/1)
56 -> -2.849877e+30 (-2479392929313226753685415739663229/870)
57 -> 0.000000e+00 (0/1)
58 -> 2.386543e+32 (84483613348880041862046775994036021/354)
59 -> 0.000000e+00 (0/1)
60 -> -2.139995e+34 (-1215233140483755572040304994079820246041491/56786730)
Referans uygulaması (Python 3'te):
def factorial(n):
if n < 1:
return 1
else:
return n * factorial(n - 1)
def combination(m,k):
if k <= m:
return factorial(m)/(factorial(k) * factorial(m - k))
else:
return 0
def Bernoulli(m):
if m == 0:
return 1
else:
t = 0
for k in range(0, m):
t += combination(m, k) * Bernoulli(k) / (m - k + 1)
return 1 - t
kurallar
- Bu kod golf , bayt cinsinden en kısa kod kazanır
- Herhangi bir Bernoulli sayısının veya Bernoulli polinomunun türünü hesaplayan, yerleşik veya harici bir kütüphaneye dahil olan hiçbir işlevi kullanamazsınız.
- Cevabınız, 60 dahil ve bütün girişler için doğru çıktı vermelidir.
Liderler Sıralaması
Bu yazının altındaki Yığın Parçacığı, a) dilindeki en kısa çözümlerin bir listesi olarak ve b) genel bir lider tablosu olarak cevaplardan lider tablosu oluşturur.
Cevabınızın göründüğünden emin olmak için, lütfen aşağıdaki Markdown şablonunu kullanarak cevabınızı bir başlık ile başlatın:
## Language Name, N bytes
Gönderinizin N
büyüklüğü nerede ? Puanınızı artırmak varsa, olabilir onları içinden vurarak, başlığa eski hesapları tutmak. Örneğin:
## Ruby, <s>104</s> <s>101</s> 96 bytes
Başlığınıza birden çok sayı eklemek istiyorsanız (örneğin, puanınız iki dosyanın toplamı olduğundan veya tercüman bayrağı cezalarını ayrı ayrı listelemek istediğinizden dolayı), gerçek puanın başlıktaki son sayı olduğundan emin olun :
## Perl, 43 + 2 (-p flag) = 45 bytes
Dil adını, daha sonra pasajda görünecek bir bağlantı da yapabilirsiniz:
## [><>](http://esolangs.org/wiki/Fish), 121 bytes