#7229. 徐老师的生命值

0

徐老师的生命值

徐老师的生命值

题目描述

徐老师最近在玩一个游戏,在这个游戏里他一开始只有 1 点生命值

但是这个游戏允许他进行几轮操作来增加他的生命值

每一轮游戏他可以选择以下三种操作之一进行: 假设现在他现在的生命值为 xx

当前生命值 +1+1,即 x+1x + 1

当前生命值 −1-1,即 x−1x - 1

使得生命值变成当前生命值的 yy 次方(yy 可以是任意正整数),即 xyx^y

当前,任何时间徐老师的生命值都不能为 00 ,否则游戏会失败

现在 徐老师希望自己的游戏不那么无聊,所以他不希望生命值越大越好,他自己设置了一个想要的生命值 NN

现在他想知道,最少进行几轮操作可以使得他的生命值为 NN?

输入格式

一行一个正整数 NN

输出格式

一行一个整数,表示最少进行的操作次数

数据范围

对于 60%60\% 的数据保证 1≤N≤201 \leq N \leq 20

对于 100%100\% 的数据保证 1≤N≤1001 \leq N \leq 100

样例输入

80

样例输出

4

样例解释

四次步骤分别如下:

1+1=21 + 1 = 2

2+1=32 + 1 = 3

34=813^4 =81

81−1=8081-1 = 80