02/10/2018, 14:38

P148PROA spoj PTIT – Dãy số Hailstone

Nguồn đề bài: http://www.spoj.com/PTIT/problems/P148PROA/ 1. Đề bài P148PROA spoj Dãy số Hailstone bắt đầu từ một số tự nhiên N cho trước, các số tiếp theo sẽ được tạo theo quy tắc: • Nếu số hiện tại là chẵn thì số tiếp theo sẽ bằng số đó chia cho 2. • Nếu số hiện tại là lẻ thì ...

Nguồn đề bài: http://www.spoj.com/PTIT/problems/P148PROA/

1. Đề bài P148PROA spoj

Dãy số Hailstone bắt đầu từ một số tự nhiên N cho trước, các số tiếp theo sẽ được tạo theo quy tắc:
• Nếu số hiện tại là chẵn thì số tiếp theo sẽ bằng số đó chia cho 2.
• Nếu số hiện tại là lẻ thì số tiếp theo sẽ được nhân lên 3 lần rồi cộng 1
• Khi gặp số 1 thì dãy số kết thúc.

Ví dụ, với N = 3 thì dãy số Hailstone tương ứng sẽ là: 3, 10, 5, 16, 8, 4, 2, 1

Bài toán đặt ra là cho trước N, hãy tính chiều dài của dãy Hailstone tương ứng.

Input

Mỗi bộ test ghi trên một dòng số N không quá 100. Input kết thúc với N = 0.

Output

Với mỗi bộ test, ghi ra màn hình duy nhất một số nguyên là kết quả bài toán.

Example

Input:
1
2
3
0

Output:
1
2
8

2. Giải thích code mẫu P148PROA spoj PTIT

– Dùng procedure sinh để tạo sẳn đáp án cho bài.

3. code tham khảo P148PROA spoj PTIT

0