Lý lịch:
Pi ( π
) là một số siêu việt , và do đó nó có biểu diễn thập phân không kết thúc. Tương tự, biểu diễn không chấm dứt nếu được viết bằng bất kỳ cơ sở số nguyên nào khác. Nhưng nếu chúng ta viết nó trong căn cứ π
thì sao?
Các chữ số thập phân thể hiện quyền hạn của 10, vì vậy:
π = 3.14… = (3 * 10^0) + (1 * 10^-1) + (4 * 10^-2) + …
Vì vậy, trong cơ sở π
, các chữ số sẽ đại diện cho quyền hạn của π
:
π = 10 = (1 * π^1) + (0 * π^0)
Trong cơ sở mới này, số nguyên hiện có các biểu diễn không kết thúc. Vì vậy, 10 trong số thập phân bây giờ trở thành như sau:
10 => 100.01022… = (1 * π^2) + (0 * π^1) + (0 * π^0) + (0 * π^-1) + (1 * π^-2) + …
Lưu ý rằng trong cơ sở π
các chữ số được sử dụng là 0,1,2,3 vì đây là các chữ số nhỏ hơn π
.
Thử thách:
Cho một số nguyên không âm x
, hoặc:
Đầu ra (không dừng lại) đại diện của nó trong cơ sở
π
. Nếu số có biểu diễn hữu hạn (0, 1, 2, 3), thì chương trình có thể tạm dừng thay vì in các số không vô hạn.Lấy một số nguyên lớn tùy ý
n
và xuất cácn
chữ số đầu tiên củax
cơ sởπ
.
Quy tắc:
- Vì một số có nhiều biểu diễn có thể, bạn phải xuất ra một số xuất hiện lớn nhất (chuẩn hóa). Cũng như
1.0 = 0.9999…
trong thập phân, vấn đề này cũng tồn tại trong cơ sở này. Trong cơ sởπ
, một vẫn còn1.0
, nhưng cũng có thể được viết như0.3011…
, ví dụ. Tương tự, mười là100.01022…
, nhưng cũng có thể được viết là30.121…
hoặc23.202…
. - Đây là mã golf, vì vậy ít byte nhất sẽ thắng. Chương trình hoặc chức năng.
- Không có tích hợp ( Tôi đang nhìn bạn , Mathicala )
Các kết quả:
0 = 0
1 = 1
2 = 2
3 = 3
4 = 10.220122021121110301000010110010010230011111021101…
5 = 11.220122021121110301000010110010010230011111021101…
6 = 12.220122021121110301000010110010010230011111021101…
7 = 20.202112002100000030020121222100030110023011000212…
8 = 21.202112002100000030020121222100030110023011000212…
9 = 22.202112002100000030020121222100030110023011000212…
10 = 100.01022122221121122001111210201201022120211001112…
42 = 1101.0102020121020101001210220211111200202102010100…
1337 = 1102021.0222210102022212121030030010230102200221212…
9999 = 100120030.02001010222211020202010210021200221221010…
10.000 chữ số đầu tiên của mười trong cơ sở Pi
Xác minh:
Bạn có thể xác minh bất kỳ đầu ra nào bạn muốn bằng cách sử dụng mã Mathicala tại đây . Tham số đầu tiên là x
, thứ ba là n
. Nếu nó hết thời gian, chọn một nhỏ n
và chạy nó. Sau đó nhấp vào "Mở trong mã" để mở một bảng tính Mathicala mới với chương trình. Không có giới hạn thời gian ở đó.
Chuyển đổi kết quả đầu ra thành một số ở đây .
Liên quan:
n
, tôi đoán rằng Pi phải có ít nhất các n
chữ số chính xác.