Gần đây đã có rất nhiều thách thức liên quan đến yếu tố chính / nguyên tố, vì vậy tôi nghĩ có thể sẽ rất thú vị khi đi theo con đường khác.
Được:
- một số nguyên dương
n
và - một danh sách không trống của các số nguyên dương
f
viết một chương trình đầy đủ hoặc một hàm để tìm số nguyên nhỏ nhất i
sao cho i >= n
và i
là một sản phẩm của các số nguyên không lũy thừa, các số nguyên của các phần tử trong f
.
Ví dụ:
Giả sử
n = 11, f = [2, 3, 5]
.Một vài sản phẩm đầu tiên là:
1 = 2^0 * 3^0 * 5^0 2 = 2^1 * 3^0 * 5^0 3 = 2^0 * 3^1 * 5^0 5 = 2^0 * 3^0 * 5^1 4 = 2^2 * 3^0 * 5^0 6 = 2^1 * 3^1 * 5^0 10 = 2^1 * 3^0 * 5^1 9 = 2^0 * 3^2 * 5^0 15 = 2^0 * 3^1 * 5^1 25 = 2^0 * 3^0 * 5^2 8 = 2^3 * 3^0 * 5^0 12 = 2^2 * 3^1 * 5^0 => smallest greater than (or equal to) 11, so we output it. 20 = 2^2 * 3^0 * 5^1 18 = 2^1 * 3^2 * 5^0 30 = 2^1 * 3^1 * 5^1 50 = 2^1 * 3^0 * 5^2 27 = 2^0 * 3^3 * 5^0 45 = 2^0 * 3^2 * 5^1 75 = 2^0 * 3^1 * 5^2 125 = 2^0 * 3^0 * 5^3
Giả sử
n=14, f=[9, 10, 7]
.Một lần nữa, một vài sản phẩm đầu tiên:
1 = 7^0 * 9^0 * 10^0 7 = 7^1 * 9^0 * 10^0 9 = 7^0 * 9^1 * 10^0 10 = 7^0 * 9^0 * 10^1 49 = 7^2 * 9^0 * 10^0 => smallest greater than (or equal to) 14, so we output it. 63 = 7^1 * 9^1 * 10^0 70 = 7^1 * 9^0 * 10^1 81 = 7^0 * 9^2 * 10^0 90 = 7^0 * 9^1 * 10^1 100 = 7^0 * 9^0 * 10^2
Các trường hợp thử nghiệm:
n, f -> output
10, [2, 3, 5] -> 10
17, [3, 7] -> 21
61, [3,5,2,7] -> 63
23, [2] -> 32
23, [3] -> 27
23, [2, 3] -> 24
31, [3] -> 81
93, [2,2,3] -> 96
91, [2,4,6] -> 96
1, [2,3,5,7,11,13,17,19] -> 1
151, [20,9,11] -> 180
11616, [23,32] -> 12167
11616, [23,32,2,3] -> 11664 = 2^4 * 3^6
5050, [3,6,10,15,21,28,36,45,55,66,78,91,105,120,136,153,171,190,210] -> 5103 = 3^6 * 7
12532159, [57, 34, 12, 21] -> 14183424 = 12^5 * 57
Quy tắc
- Bạn có thể cho rằng
f
sẽ chứa ít nhất một phần tử và tất cả các phần tử củaf
sẽ lớn hơn 1. - Bạn có thể tùy ý cho rằng
f
được sắp xếp theo thứ tự giảm / tăng nếu bạn muốn (nhưng vui lòng ghi rõ). - Bạn có thể tùy ý lấy số lượng phần tử
f
nếu bạn muốn. - Đầu ra dưới dạng một chuỗi được cho phép.
- Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất tính bằng byte trong mỗi ngôn ngữ sẽ thắng!
- Quy tắc I / O mặc định được áp dụng và các lỗ hổng tiêu chuẩn bị cấm.
- Giải thích được khuyến khích.
∞
lưu3
byte qua-Log@0 (doesn't work on TIO, but works fine on desktop Mathematica). Also,
Tr [1 ^ {##}] `là một byte ngắn hơnLength@{##}
.