對於一個正整數 $x$,如果 $x$ 是偶數,則我們將 $x$ 除以 $2$ ,若 $x$ 是奇數,則我們將 $x$ 乘以 $3$ 再加 $1$ 。
例如當 $x = 4$ 時,我們的操作會使 $x$ 變成 $2$,當 $x = 5$ 時,我們的操作則會使 $x$ 變成 $16$。
現在給定一個正整數 $x$ 以及正整數 $y$,我們不斷地對他進行上述的操作,直到 $x$ 變成 $1$ 時或是 $x > y$ 時停止。
例如給定 $x = 12, y = 20$,我們會有以下的過程
$12, 6, 3, 10, 5, 16, 8, 4, 2, 1$
而給定 $x = 19, y = 70$,則會有
$19, 58, 29, 88$
請問 $x$ 從開始到停止的過程裡出現的所有數字中,第二大的是多少?
第一行會有一個正整數 $t$,代表有多少個需要處理的情形。
接下來的 $t$ 行內,每一行都有兩個正整數 $x$ 以及 $y$,代表起始的數字以及超過時需要停止的門檻。
保證所有的情形,$x$ 都會在經過數次操作後變成 $1$ 或是因為超過 $y$ 而停止。
總共輸出 $t$ 行,每一行對應輸入提供的 $x$ 與 $y$ 的答案。
NEOJ Problem 523
No. | Testdata Range | Constraints | Score |
---|---|---|---|
1 | 0 | 10 | |
2 | 1 | 10 | |
3 | 2 | 10 | |
4 | 3 | 10 | |
5 | 4 | 10 | |
6 | 5 | 10 | |
7 | 6 | 10 | |
8 | 7 | 10 | |
9 | 8 | 10 | |
10 | 9 | 10 |