打印

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

[复制链接]
726|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ming月|  楼主 | 2017-8-31 16:36 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
如图,中间1、2、3、4、5、6、7、8是每个格子,格子都有唯一标号,圆的中心是个轴承,可以旋转。旋转到哪个格子的时候,门打开就可以取出其中的货物。比如,我要打开4号,我就顺时针方向旋转135度,把4号转过来然后开门。如果是7号格子我就逆时针旋转90度。
问题是,如果旋转了之后我就停在当前位置,下一次该怎么查找到最小的角度呢,如果是6号7号8号格子呢?如果有n个格子呢?

有没有什么算法

L~(W5VI)$[W1IQ(T}$@{EIU.png (17.84 KB )

L~(W5VI)$[W1IQ(T}$@{EIU.png

相关帖子

沙发
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)

服服服,一句就解决了

使用特权

评论回复
5
Xy201207| | 2017-8-31 23:01 | 只看该作者
我不说是一年级的问题,这肯定是小学的问题

使用特权

评论回复
6
ming月|  楼主 | 2017-9-1 09:29 | 只看该作者
Xy201207 发表于 2017-8-31 23:01
我不说是一年级的问题,这肯定是小学的问题

想不到怎么用C语言实现

使用特权

评论回复
7
gx_huang| | 2017-9-1 09:37 | 只看该作者
这个似乎没有难度呀!

使用特权

评论回复
8
ming月|  楼主 | 2017-9-1 11:03 | 只看该作者
gx_huang 发表于 2017-9-1 09:37
这个似乎没有难度呀!

有其他更好的思路?

使用特权

评论回复
9
gx_huang| | 2017-9-1 11:23 | 只看该作者
格数是n,n>=2,从n1到n2,这个算法也不难呀。
如果n是固定,更容易。
((n+n1-n2)%n)*2PI,不管是n1大还是n2大,最后对n取整,就是固定方向的旋转角度。
如果角度大于180度,就逆向少转一些。

使用特权

评论回复
10
lxyppc| | 2017-9-1 12:13 | 只看该作者
本帖最后由 lxyppc 于 2017-9-1 12:18 编辑

直接算距离,大于180度就反着转

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

23

帖子

0

粉丝