寻找最小角度程序设计思路,求大神

[复制链接]
1009|9
 楼主| ming月 发表于 2017-8-31 16:36 | 显示全部楼层 |阅读模式
如图,中间1、2、3、4、5、6、7、8是每个格子,格子都有唯一标号,圆的中心是个轴承,可以旋转。旋转到哪个格子的时候,门打开就可以取出其中的货物。比如,我要打开4号,我就顺时针方向旋转135度,把4号转过来然后开门。如果是7号格子我就逆时针旋转90度。
问题是,如果旋转了之后我就停在当前位置,下一次该怎么查找到最小的角度呢,如果是6号7号8号格子呢?如果有n个格子呢?

有没有什么算法

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
songchenping 发表于 2017-8-31 17:30 | 显示全部楼层
格子不同,算法不同啊。
宇容创行 发表于 2017-8-31 17:57 | 显示全部楼层
当前是n,目标是m,要转的格数是 4- abs(abs(n-m)-4)
 楼主| ming月 发表于 2017-8-31 22:46 | 显示全部楼层
宇容创行 发表于 2017-8-31 17:57
当前是n,目标是m,要转的格数是 4- abs(abs(n-m)-4)

服服服,一句就解决了
Xy201207 发表于 2017-8-31 23:01 | 显示全部楼层
我不说是一年级的问题,这肯定是小学的问题
 楼主| ming月 发表于 2017-9-1 09:29 | 显示全部楼层
Xy201207 发表于 2017-8-31 23:01
我不说是一年级的问题,这肯定是小学的问题

想不到怎么用C语言实现
gx_huang 发表于 2017-9-1 09:37 | 显示全部楼层
这个似乎没有难度呀!
 楼主| ming月 发表于 2017-9-1 11:03 | 显示全部楼层
gx_huang 发表于 2017-9-1 09:37
这个似乎没有难度呀!

有其他更好的思路?
gx_huang 发表于 2017-9-1 11:23 | 显示全部楼层
格数是n,n>=2,从n1到n2,这个算法也不难呀。
如果n是固定,更容易。
((n+n1-n2)%n)*2PI,不管是n1大还是n2大,最后对n取整,就是固定方向的旋转角度。
如果角度大于180度,就逆向少转一些。
lxyppc 发表于 2017-9-1 12:13 来自手机 | 显示全部楼层
本帖最后由 lxyppc 于 2017-9-1 12:18 编辑

直接算距离,大于180度就反着转
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

23

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部