Liệt kê số nguyên, 10 8 byte
TṪạL;³ÆẸ
Bản đồ liệt kê các số nguyên không âm đến các số nguyên dương. Hãy thử trực tuyến!
Số nguyên cho danh sách, 8 byte
ÆE©Ḣ0ẋ®;
Ánh xạ các số nguyên dương vào danh sách các số nguyên không âm. Hãy thử trực tuyến!
Lý lịch
Đặt p 0 , p 1 , p 2 , ⋯ là dãy số nguyên tố theo thứ tự tăng dần.
Với mỗi danh sách các số nguyên không âm A: = [a 1 ,, a n ] , chúng tôi ánh xạ A đến p 0 z (A) p 1 a 1 ⋯ p n a n , trong đó z (A) là số trailing zero của Một .
Đảo ngược bản đồ trên một cách đơn giản. Đối với một dương tính số nguyên k , chúng tôi factorize nó duy nhất là sản phẩm của các cường quốc hàng đầu liên tiếp n = p 0 α 0 p 1 α 1 ⋯ p n α n , nơi α n > 0 , sau đó tái tạo lại danh sách như [α 1 , ⋯, α n ] , phụ α 0 zero.
Làm thế nào nó hoạt động
Liệt kê số nguyên
TṪạL;³ÆẸ Main link. Argument: A (list of non-negative integers)
T Yield all indices of A that correspond to truthy (i.e., non-zero) items.
Ṫ Tail; select the last truthy index.
This returns 0 if the list is empty.
L Yield the length of A.
ạ Compute the absolute difference of the last truthy index and the length.
This yields the amount of trailing zeroes of A.
;³ Prepend the difference to A.
ÆẸ Convert the list from prime exponents to integer.
Số nguyên để liệt kê
ÆE©Ḣ0ẋ®; Main link. Input: k (positive integer)
ÆE Convert k to the list of its prime exponents.
© Save the list of prime exponents in the register.
Ḣ Head; pop the first exponent.
If the list is empty, this yields 0.
0ẋ Construct a list of that many zeroes.
®; Concatenate the popped list of exponents with the list of zeroes.
Ví dụ đầu ra
Một trăm số nguyên dương đầu tiên ánh xạ tới các danh sách sau.
1: []
2: [0]
3: [1]
4: [0, 0]
5: [0, 1]
6: [1, 0]
7: [0, 0, 1]
8: [0, 0, 0]
9: [2]
10: [0, 1, 0]
11: [0, 0, 0, 1]
12: [1, 0, 0]
13: [0, 0, 0, 0, 1]
14: [0, 0, 1, 0]
15: [1, 1]
16: [0, 0, 0, 0]
17: [0, 0, 0, 0, 0, 1]
18: [2, 0]
19: [0, 0, 0, 0, 0, 0, 1]
20: [0, 1, 0, 0]
21: [1, 0, 1]
22: [0, 0, 0, 1, 0]
23: [0, 0, 0, 0, 0, 0, 0, 1]
24: [1, 0, 0, 0]
25: [0, 2]
26: [0, 0, 0, 0, 1, 0]
27: [3]
28: [0, 0, 1, 0, 0]
29: [0, 0, 0, 0, 0, 0, 0, 0, 1]
30: [1, 1, 0]
31: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
32: [0, 0, 0, 0, 0]
33: [1, 0, 0, 1]
34: [0, 0, 0, 0, 0, 1, 0]
35: [0, 1, 1]
36: [2, 0, 0]
37: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
38: [0, 0, 0, 0, 0, 0, 1, 0]
39: [1, 0, 0, 0, 1]
40: [0, 1, 0, 0, 0]
41: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
42: [1, 0, 1, 0]
43: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
44: [0, 0, 0, 1, 0, 0]
45: [2, 1]
46: [0, 0, 0, 0, 0, 0, 0, 1, 0]
47: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
48: [1, 0, 0, 0, 0]
49: [0, 0, 2]
50: [0, 2, 0]
51: [1, 0, 0, 0, 0, 1]
52: [0, 0, 0, 0, 1, 0, 0]
53: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
54: [3, 0]
55: [0, 1, 0, 1]
56: [0, 0, 1, 0, 0, 0]
57: [1, 0, 0, 0, 0, 0, 1]
58: [0, 0, 0, 0, 0, 0, 0, 0, 1, 0]
59: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
60: [1, 1, 0, 0]
61: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
62: [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]
63: [2, 0, 1]
64: [0, 0, 0, 0, 0, 0]
65: [0, 1, 0, 0, 1]
66: [1, 0, 0, 1, 0]
67: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
68: [0, 0, 0, 0, 0, 1, 0, 0]
69: [1, 0, 0, 0, 0, 0, 0, 1]
70: [0, 1, 1, 0]
71: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
72: [2, 0, 0, 0]
73: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
74: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]
75: [1, 2]
76: [0, 0, 0, 0, 0, 0, 1, 0, 0]
77: [0, 0, 1, 1]
78: [1, 0, 0, 0, 1, 0]
79: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
80: [0, 1, 0, 0, 0, 0]
81: [4]
82: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]
83: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
84: [1, 0, 1, 0, 0]
85: [0, 1, 0, 0, 0, 1]
86: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]
87: [1, 0, 0, 0, 0, 0, 0, 0, 1]
88: [0, 0, 0, 1, 0, 0, 0]
89: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
90: [2, 1, 0]
91: [0, 0, 1, 0, 1]
92: [0, 0, 0, 0, 0, 0, 0, 1, 0, 0]
93: [1, 0, 0, 0, 0, 0, 0, 0, 0, 1]
94: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]
95: [0, 1, 0, 0, 0, 0, 1]
96: [1, 0, 0, 0, 0, 0]
97: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
98: [0, 0, 2, 0]
99: [2, 0, 0, 1]
100: [0, 2, 0, 0]