首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
小招喵跑步
[编程题]小招喵跑步
热度指数:11740
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32M,其他语言64M
算法知识视频讲解
小招喵喜欢在数轴上跑来跑去,假设它现在站在点n处,它只会3种走法,分别是:
1.数轴上向前走一步,即n=n+1
2.数轴上向后走一步,即n=n-1
3.数轴上使劲跳跃到当前点的两倍,即n=2*n
现在小招喵在原点,即n=0,它想去点x处,快帮小招喵算算最快的走法需要多少步?
输入描述:
小招喵想去的位置x
输出描述:
小招喵最少需要的步数
示例1
输入
3
输出
3
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(4)
邀请回答
收藏(103)
分享
提交结果有问题?
1个回答
15篇题解
添加回答
0
C
求捞捞的小邹
#include
<stdio.h>
int
digui
(
int
data
)
{
if
(
data
==
1
)
return
1
;
else
if
(
data
==
2
)
return
2
;
else
if
(
data
%
2
==
0
&&
data
!=
0
)
return
1
+
digui
(
data
/
2
);
else
if
(
data
%
2
!=
0
)
return
1
+
digui
(
data
-
1
);
else
return
0
;
}
int
digui2
(
int
data
)
{
if
(
data
==-
1
)
return
1
;
else
if
(
data
==-
2
)
return
2
;
else
if
(
data
%
2
==
0
&&
data
!=
0
)
return
1
+
digui2
(
data
/
2
);
else
if
(
data
%
2
!=
0
)
return
1
+
digui2
(
data
+
1
);
else
return
0
;
}
int
main
()
{
int
data
;
scanf
(
"
%d
"
,&
data
);
int
i
;
if
(
data
>=
0
)
i
=
digui
(
data
);
else
i
=
digui2
(
data
);
printf
(
"
%d
\n
"
,
i
);
return
0
;
}
//很好奇你们是怎么通过的,我同样以递归的形式写的代码,当数据为1980时,输出错误18,最简单为14
发表于 2023-11-02 00:27:16
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C++工程师
golang工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
测试工程师
PHP工程师
动态规划
2018
招商银行信用卡中心
Java工程师
上传者:
小小
难度:
1条回答
103收藏
11933浏览
热门推荐
通过挑战的用户
查看代码
mtbllm
2023-03-11 15:56:43
不要卷啦
2022-11-12 21:37:39
Dreamup...
2022-10-27 15:50:20
牛客91300...
2022-10-23 18:25:35
牛客91794...
2022-10-23 15:18:45
相关试题
下面描述中,符合结构化程序设计风格...
北京搜狐互联网信息服务有限公司
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
2018
评论
(1)
若用冒泡排序对关键字序列{10,8...
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
测试工程师
安全工程师
2018
奇安信
评论
(1)
关于windows的消息机制下列说...
2015
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
c#工程师
恒生电子
golang工程师
评论
(4)
来自
恒生公司2015秋招开发...
下面关于 Spring Cloud...
Spring
评论
(1)
下面代码的输出结果 public ...
Java
评论
(1)
小招喵跑步
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
3
3