Cho một số nguyên và một số hàm hộp đen tìm một điểm cố định trong chuỗi được xác định bởi .x1
f: ℤ → ℤ
f
xk+1 := f(xk)
Chi tiết
Một giá trị
x
được cho là một điểm cố địnhf
nếux = f(x)
.Chẳng hạn, nếu
f(x) := round(x/pi)
và chúng ta có điểm bắt đầu thì chúng ta sẽ nhận được , sau đó , và cuối cùng , điều đó có nghĩa là bài nộp sẽ trở lại .x1 = 10
x2 = f(x1) = f(10) = 3
x3 = f(x2) = f(3) = 1
x4 = f(x3) = f(1) = 0
x5 = f(x4) = f(0) = 0
0
- Bạn có thể giả định rằng chuỗi được tạo thực sự chứa một điểm cố định.
- Bạn có thể sử dụng loại bản địa cho số nguyên thay cho
ℤ
. - Bạn có thể sử dụng bất kỳ ngôn ngữ nào có mặc định cho đầu vào chức năng hộp đen trong bài đăng meta IO tiêu chuẩn . Nếu không có mặc định như vậy cho ngôn ngữ của bạn, vui lòng thêm một ý nghĩa theo định nghĩa của các chức năng hộp đen và đảm bảo liên kết các đề xuất của bạn trong định nghĩa đó. Cũng đừng quên bỏ phiếu cho họ.
Ví dụ
f(x) = floor(sqrt(abs(x)))
0 -> 0, all other numbers -> 1
f(x) = c(c(c(x))) where c(x) = x/2 if x is even; 3*x+1 otherwise
all positive numbers should result in 1,2 or 4 (Collatz conjecture)
f(x) = -42
all numbers -> -42
f(x) = 2 - x
1 -> 1
~Nƭ⁻Ç$¿
, đó là một cái gì đó giống như, (mã giả) for x in [0, -1, 1, -2, 2, -3, 3, -4, 4, ...]: if (x == f(x)): break; print(x);
. Điều đó có thể có giá trị thách thức khác.