C bài 18.D8: Dãy vô hạn


Submit solution

Points: 25 (partial)
Time limit: 1.0s
Memory limit: 20M

Author:
Problem type

Cho một dãy số \(a = {a_1, a_2, ...}\) được xác định như sau:

  • Phần tử đầu tiên \(s\) được nhập vào.
  • Định nghĩa hàm \(f(n)\) như sau:
    • \(f(n) = n/2\) nếu \(n\) là số chẵn.
    • \(f(n) = 3n+1\) nếu \(n\) là số lẻ.
  • \(a_i=s\) khi \(i=1\) và \(a_i=f(a_{i-1})\) khi \(i > 1\).

Tìm số nguyên dương nhỏ nhất \(m\) sau cho tồn tại một số nguyên \(n\) để \(a_m=a_n\)(với \(m > n\)).

INPUT FORMAT

Một dòng duy nhất gồm số nguyên dương \(s(1 \leq s \leq 100)\).

OUTPUT FORMAT

In ra số \(m\) nhỏ nhất sao cho điều kiện trên thỏa mãn.

Ví dụ 1:

Input
8
Output
5

Ví dụ 2:

Input
7
Output
18
Giải thích ví dụ mẫu

Ví dụ 1:

  • Input: 8
  • Giải thích: Dãy số bắt đầu từ 8 và sau 5 bước, giá trị 8 sẽ xuất hiện lại, với chỉ số m nhỏ nhất là 5.

Ví dụ 2:

  • Input: 7
  • Giải thích: Dãy số bắt đầu từ 7 sẽ mất nhiều bước hơn để giá trị xuất hiện lại, và chỉ số m nhỏ nhất là 18.

Lời giải bài tập này: Tại đây

Group giải đáp thắc mắc: Lập trình 24h

Fanpage CLB: CLB lập trình Full House- Việt Nam

Youtube: CLB Lập Trình Full House


Comments

There are no comments at the moment.

Zalo