U236389 C.变(turn.cpp)
题目背景
2022青岛市赛小学组T3
题目描述
对 $2$ 以上(包括 $2$ ) $n$ 以下(包括 $n$ )的正整数 $x$ 可以进行以下操作。
- 如果 $x+1≤n$ ,$x+1$ 可变为新的 x。
- 如果 $\sqrt{\smash[b]{x}}$ 为整数, $\sqrt{\smash[b]{x}}$ 可变为新的 $x$
例如 $x=2$ 时,新的 $x$ 可以为 $3$ 。 $x=4$ 时,新的 $x$ 可以为 $(2,5)$ 中的任意一个。
kagamiz想知道从 $x=2$ 开始,将所有允许的操作都执行至少一遍,使 $x$ 的值再次为 $2$ 的方法中,操作
次数最少的方法的操作次数。
你的任务就是判断这样的方法是否存在,如果存在,则输出最小操作次数。
输入格式
输入 $1$ 行, $1$ 个整数 $n$ 。
输出格式
输出 $1$ 行最小操作次数。当不存在符合条件的方法时输出 $-1$ 。
说明/提示
$50\%$的数据:$2≤n≤3*10^3$;
$100\%$的数据:$2≤n≤3*10^3$ (任意时刻 $x$ 都不能超过的上限值)。