Lấy cảm hứng từ câu trả lời này (nhấn mạnh của tôi):
Chúng tôi sẽ chơi một trò chơi. Giả sử bạn có một số số x . Bạn bắt đầu với x và sau đó bạn có thể thêm, trừ, nhân hoặc chia cho bất kỳ số nguyên nào, ngoại trừ số không. Bạn cũng có thể nhân với x . Bạn có thể làm những điều này nhiều lần như bạn muốn. Nếu tổng số bằng 0, bạn thắng.
Ví dụ: giả sử x là 2/3. Nhân với 3, sau đó trừ 2. Kết quả bằng không. Bạn thắng!
Giả sử x là 7 ^ (1/3). Nhân với x , rồi lại x , rồi trừ 7. Bạn thắng!
Giả sử x là √2 + 3. Ở đây không dễ để thấy làm thế nào để chiến thắng. Nhưng hóa ra nếu bạn nhân với x , trừ 10, nhân với x hai lần và thêm 1, thì bạn sẽ thắng. (Điều này không được coi là hiển nhiên; bạn có thể thử với máy tính của mình.)
Nhưng nếu bạn bắt đầu với x = π, bạn không thể thắng. Không có cách nào để có được từ π đến 0 nếu bạn cộng, trừ, nhân hoặc chia cho số nguyên hoặc nhân với số thập phân, bất kể bạn thực hiện bao nhiêu bước. (Điều này cũng không được coi là hiển nhiên. Đây là một điều rất khó khăn!)
Các số như √2 + √3 từ đó bạn có thể giành chiến thắng được gọi là đại số . Những con số như số mà bạn không thể thắng được gọi là siêu việt.
Tại sao điều này thú vị? Mỗi số đại số có liên quan một cách hợp lý với các số nguyên và các nước đi thắng trong trò chơi cho bạn thấy như thế nào. Đường dẫn về 0 có thể dài và phức tạp, nhưng mỗi bước đều đơn giản và có một đường dẫn. Nhưng số siêu việt về cơ bản là khác nhau: chúng không liên quan về mặt số học với các số nguyên thông qua các bước đơn giản.
Về cơ bản, bạn sẽ sử dụng các bước được sử dụng trong câu hỏi được trích dẫn ở trên để "chiến thắng" trò chơi cho đầu vào đã cho.
Cho một hằng số thực, đại số x
, chuyển đổi số thành 0 bằng cách sử dụng các thao tác được phép sau:
- Thêm hoặc trừ một số nguyên.
- Nhân hoặc chia cho một số nguyên khác không.
- Nhân với hằng số ban đầu
x
.
Đầu vào là một chuỗi có thể chứa các số nguyên, cộng, trừ, nhân, chia, lũy thừa (sự lựa chọn của bạn **
hoặc ^
, số mũ được sử dụng để biểu diễn gốc) và dấu ngoặc đơn. Không gian trong đầu vào là tùy chọn, nhưng không phải trong đầu ra. Bạn nên xuất các bước cần thiết để có được kết quả bằng 0, do đó nhân 7
với một bước sẽ là đầu ra *7
. Một không gian dấu và / hoặc dòng mới được cho phép.
Ví dụ
0 -> +0 (or any other valid, or empty)
5/7 + 42 -> -42 *7 -5 (or shorter: *7 -299)
2^(1/3) -> *x *x -2
5*(3**(1/4)) -> *x *x *x -1875
2^(1/2)+3^(1/2) -> *x -10 *x *x +1
Mã ngắn nhất sẽ thắng.
x^4-10*x^2+1
. Xem WolframAlpha
0
làm kết quả cần phải được? Với các lỗi làm tròn và độ chính xác nổi, tôi có thể dễ dàng nhìn thấy các tình huống có vấn đề ...