所罗门·戈洛姆的自描述序列 <f(1),f(2),f(3)⋯> 是唯一一个不减量的正整数序列,它的性质是它正好包含每个 k 的 f(k) 次出现。相信聪明的你会发现序列从以下开始:
n | f(n) |
---|---|
1 | 1 |
2 | 2 |
3 | 2 |
4 | 3 |
5 | 3 |
6 | 4 |
7 | 4 |
8 | 4 |
9 | 5 |
10 | 5 |
11 | 5 |
12 | 6 |
在这个问题中,你需要编写一个程序,对于给定 n 值,计算 f(n) 的值。
本题共包含多组测试数据。
每个测试用例占用一个单独的行并包含一个整数 n(1≤n≤2,000,000,000)。输入以包含 n=0 的数据结束,并且这种情况不做处理。
对于输入的每个数据,输出 f(n) 的值,每个答案占一行。
## 题目大意
所罗门·戈洛姆的自描述序列 $<f(1),f(2),f(3)\cdots >$ 是唯一一个不减量的正整数序列,它的性质是它正好包含每个 $k$ 的 $f(k)$ 次出现。相信聪明的你会发现序列从以下开始:
| $ n$ | $f(n)$ |
| :-----------: |:-----------: |
| $1$ |$1$ |
| $2$ |$2$ |
| $3$ |$2$ |
| $4$ |$3$ |
| $5$ |$3$ |
| $6$ |$4$ |
| $7$ |$4$ |
| $8$ |$4$ |
| $9$ |$5$ |
| $10$ |$5$ |
| $11$ |$5$ |
| $12$ |$6$ |
在这个问题中,你需要编写一个程序,对于给定 $n$ 值,计算 $f(n)$ 的值。
## 输入格式
**本题共包含多组测试数据。**
每个测试用例占用一个单独的行并包含一个整数 $n(1\le n\le 2,000,000,000)$。输入以包含 $n=0$ 的数据结束,并且这种情况不做处理。
## 输出格式
对于输入的每个数据,输出 $f(n)$ 的值,每个答案占一行。
)