Jelly, 1127 1975 trình tự
- điều này hiện kết hợp các phát hiện của xnor và Mitchell Spector , nhưng vẫn còn một số chỗ cho sự tăng trưởng ở mức 78 byte. Đi cho họ một số tín dụng!
0x20
_21004µȷ20:DU¢oU
20Ḷ×⁸+µ*þ12
11R‘µẋ`€F$ç"Ḷ€F$;/
_108ị¢
“æÑØ‘×ȷ3¤>J×$S‘µĿ
Dùng thử trực tuyến!
Trình tự 1975 là:
- con số 252 bắt đầu bằng hai mươi số không (hành vi cho đầu vào bên ngoài
[16000,21999]
);
- các chuỗi 848 nằm trong phạm vi từ 16742 đến 17664 phù hợp với
(a*n+b)**c
công thức (hành vi cho đầu vào [16000,17999]
); và
- 875 trình tự nằm trong phạm vi 21016 đến 21999 phù hợp với việc mở rộng thập phân của
1/n
(hành vi cho đầu vào [18000,21999]
).
Làm sao?
0x20 - Link 1, TwentyZeros: no arguments
0 - zero
20 - twenty
x - repeat
_21004µȷ20:DU¢oU - Link 2, DecimalExpansionOfReciprocal: oeisIndexNumber
µ - monadic chain separation
ȷ20 - 1e20
_21004 - subtract 21004 from oeisNumber to get the n value
: - integer division, i.e. 1e20 // n
D - decimal list
U - reverse
¢ - call last link (1) as a nilad, i.e. get twenty zeros
o - logical or, i.e. pad the right of the reversed list to twenty with zeros
U - reverse again
20Ḷ×⁸+µ*þ12 - Link 3, BlockOf12abcFormulaResults: a, b
20Ḷ - lowered range of 20 [0,1,...,19] i.e. the values of n in (a*n+b)**c
⁸ - left argument, a
× - multiply
+ - add b
µ - monadic chain separation
þ12 - outer product with [1,2,...,12] of... i.e. the values of c in (a*n+b)**c
* - exponentiation
11R‘µẋ`€F$ç"Ḷ€F$;/ - link 4, AllabcFormulaResults: no aguments
11R - range of 11 [1,2,...,11]
‘ - increment [2,3,...12] i.e. the values of a in (a*n+b)**c
µ - monadic chain separation
$ - last two links as a monad
ẋ`€ - repeat list with repeated arguments for €ach [[2,2],[3,3,3],...,[12,12,12,12,12,12,12,12,12,12,12,12]]
F - flatten into one list
$ - last two links as a monad
Ḷ€ - lowered range of €ach [[0,1],[0,1,2],...,[0,1,2,3,4,5,6,7,8,9,10,11]]
F - flatten into one list
ç" - zip with (") last link (3) as a dydad (ç) i.e. get all the results
/ - reduce with
; - concatenation i.e. make the list of lists of lists one list of lists.
_108ị¢ - Link 5, abcFormulaResult: oeisIndexNumber
_108 - subtract 108 from the oeisNumber (indexes in Jelly are modular and there are 924 entries, this is shorter than _16740)
¢ - call last link (4) as a nilad
ị - index into i.e. get the one relevant result of 20 terms
- Link 6, an empty link (cheaper in bytes than the %6 alternative in the main link)
“æÑØ‘×ȷ3¤>J×$S‘µĿ - Main link: oeisIndexNumber e.g. 1-15999; 16000-17999; 18000-21999; 22000+
¤ - nilad followed by link(s) as a nilad
“æÑØ‘ - codePage indexes [22,16,18]
ȷ3 - 1e3
× - multiply [22000,16000,18000]
> - greater than (vectorises) e.g. [1,1,1]; [1,0,1]; [1,0,0]; [0,0,0]
$ - last two links as a monad
J - range(length) [1,2,3]
× - multiply e.g. [1,2,3]; [1,0,3]; [1,0,0]; [0,0,0]
S - sum e.g. 6; 4; 1; 0
‘ - increment e.g. 7; 5; 2; 1
µ - monadic chain separation
Ŀ - call link(index) as a monad with the oeisIndexNumber
link indexing is 1-based and modular so 7 calls link 1
>< hence the empty link 6 replacing a %6 here