购物数学题求解

小红想要在游戏里充值,充值的可选选项是:38、78、15、15、138、358、688、23、23以上数字中每个只能选一次,而小红想要花光她所有的钱,也就是700元或者只... 小红想要在游戏里充值,充值的可选选项是:38、78、15、15、138、358、688、23、23

以上数字中每个只能选一次,而小红想要花光她所有的钱,也就是700元或者只留下8块钱,或者8元的倍数的份额。
展开
 我来答
帐号已注销
2021-02-14 · TA获得超过3116个赞
知道大有可为答主
回答量:4114
采纳率:0%
帮助的人:274万
展开全部

20201-02-14

根据题主修改后的题目重新做了一下,一共有44个答案。

以下是计算结果,以及fortran代码。

追答
通过9位二进制数,对九个充值数的组合进行完整枚举试算。没有使用递归,代码简化了。
来自兴福寺塔丰姿绰约的赵云
2021-02-14 · TA获得超过4380个赞
知道大有可为答主
回答量:1.3万
采纳率:90%
帮助的人:705万
展开全部
688只有加上4元或12元才符合要求,而己知条件中不具备这两个条件,所以688可以不考虑。
38+78+15+15+138+358+23+23=688元,而符合要求的是688-4-8n而符合8n+4的数有78+15+15,38+15+15,358+15+15,38+78,38+358,78+358。付钱最多的一组为78+138+358+23+23=620元
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cup457
2021-02-11 · 超过14用户采纳过TA的回答
知道答主
回答量:119
采纳率:71%
帮助的人:4.6万
展开全部
运行结果(我已经把运算结果离得近的都找出来了,但是真的找不到符合题意的):
688= 688
703= 15+688
703= 15+688
688= 38+78+15+15+138+358+23+23
贴一下Python代码:

money = [38, 78, 15, 15, 138, 358, 688, 23, 23]
b = [0,0,0,0,0,0,0,0,0]
#主循环
while b[0]<=1:
b[8]+=1#二进制思维(0不充,1充)
for j in range(8,0,-1):
if b[j] == 2:
b[j] = 0
b[j-1] += 1
total = 0#花费总钱数
for i in range(9):
total += b[i] * money[i]#两者相乘
if 680 <= total <= 710:#如果最终总钱数在700(花光)或者692(剩8块)中
print("%d="%total,end=" ")
for k in range(9):
if b[k] == 1:
print(money[k],end=" ")
print()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式