Lấy cảm hứng từ câu hỏi này tại Toán học .
Vấn đề
Hãy
n
là một số tự nhiên≥ 2
. Lấy ước số lớn nhất củan
- khác vớin
chính nó - và trừ nó đin
. Lặp lại cho đến khi bạn nhận được1
.
Câu hỏi
Cần bao nhiêu bước để đạt được 1
một con số nhất định n ≥ 2
.
Ví dụ chi tiết
Hãy để
n = 30
.
Ước số lớn nhất của:
1. 30 is 15 --> 30 - 15 = 15
2. 15 is 5 --> 15 - 5 = 10
3. 10 is 5 --> 10 - 5 = 5
4. 5 is 1 --> 5 - 1 = 4
5. 4 is 2 --> 4 - 2 = 2
6. 2 is 1 --> 2 - 1 = 1
Phải mất 6 bước để đạt được 1
.
Đầu vào
- Đầu vào là một số nguyên
n
, trong đón ≥ 2
. - Chương trình của bạn nên hỗ trợ đầu vào tối đa giá trị số nguyên tối đa của ngôn ngữ.
Đầu ra
- Đơn giản chỉ cần xuất số lượng các bước, như
6
. - Hàng đầu / dấu trắng hàng đầu hoặc dòng mới là tốt.
Ví dụ
f(5) --> 3
f(30) --> 6
f(31) --> 7
f(32) --> 5
f(100) --> 8
f(200) --> 9
f(2016^155) --> 2015
Yêu cầu
- Bạn có thể nhận đầu vào từ
STDIN
, đối số dòng lệnh, dưới dạng tham số hàm hoặc từ tương đương gần nhất. - Bạn có thể viết một chương trình hoặc một chức năng. Nếu đó là một hàm ẩn danh, vui lòng bao gồm một ví dụ về cách gọi nó.
- Đây là mã golf để câu trả lời ngắn nhất trong byte thắng.
- Sơ hở tiêu chuẩn là không được phép.
Loạt bài này cũng có thể được tìm thấy trên OEIS: A064097
Một quar-logarit được xác định theo quy nạp bởi
a(1) = 0
vàa(p) = 1 + a(p-1)
nếup
là số nguyên tố vàa(n*m) = a(n) + a(m)
nếum,n > 1
.
2^32 - 1
. Phần còn lại là tùy thuộc vào bạn và hệ thống của bạn. Hy vọng, đây là những gì bạn có ý nghĩa với câu hỏi của bạn.