极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8703|回复: 7

菜鸟求助

[复制链接]
发表于 2015-7-27 10:51:51 | 显示全部楼层 |阅读模式
最近遇到个计算题,很困扰我,想自己在单片机里写个小程序,来代替人的运算。计算公式如下

(a-A)+2*(b-B)+3*(c-C)+4*(d_D)==E

其中:ABCDE都有确定的值。想要计算出几组abcd值。
abcd的取值范围从(48--57和65--90)
有大神能给点提示吗?
小弟拜谢
回复

使用道具 举报

发表于 2015-7-27 10:59:28 | 显示全部楼层
看起来你遇到的是一个算法问题

最简单的做法就是写个四重循环

另外,建议你先找个电脑写一下c之类的验证算法之后再倒入arduino中

毕竟单片机调试单步都很不方便
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-27 11:13:56 | 显示全部楼层
zoologist 发表于 2015-7-27 10:59
看起来你遇到的是一个算法问题

最简单的做法就是写个四重循环

验证算法?
好吧,看来我还要学习c
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-27 11:14:14 | 显示全部楼层
zoologist 发表于 2015-7-27 10:59
看起来你遇到的是一个算法问题

最简单的做法就是写个四重循环

验证算法?
好吧,看来我还要学习c
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-27 11:36:53 | 显示全部楼层
变换下公式:a+2b+3c+4d==A+2B+3C+4D+E,
如果是四重运算,那意思就是先给a赋值,然后给b....最后检测结果是否正确
是这个意思吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-27 11:38:12 | 显示全部楼层
那我要是定义四个循环呢?
回复 支持 反对

使用道具 举报

发表于 2015-7-27 12:47:14 | 显示全部楼层
像上面这样变换后看着就简单多了,ABCDE的值固定,等号后面也就是一个数字了,这样的话,一个四重循环就OK,就是你上面那个意思,每个值都有范围,穷举法,一会就有结果了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-29 08:39:49 | 显示全部楼层
已经搞定了,就是四个for搞定的
{:soso_e113:}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 17:18 , Processed in 0.038719 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表