| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1066 人关注过本帖
标题:有个数学题不知道如何写程序,请大神提示一下
只看楼主 加入收藏
djr78
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2019-12-19
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
有个数学题不知道如何写程序,请大神提示一下
糖果店搞活动,3颗糖纸能换1颗糖,现在买了15颗糖,最后能吃多少可糖? 如果是买了N颗糖,最后能吃多少颗,程序不知怎样写,有人指点一下吗?
搜索更多相关主题的帖子: 数学题 活动 多少 提示 
2019-12-20 07:45
fall_bernana
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:243
专家分:2106
注 册:2019-8-16
收藏
得分:20 
以下是引用djr78在2019-12-20 07:45:42的发言:
 
糖果店搞活动,3颗糖纸能换1颗糖,现在买了15颗糖,最后能吃多少可糖? 如果是买了N颗糖,最后能吃多少颗,程序不知怎样写,有人指点一下吗?

 
这就是一个递归
程序代码:
def f(n,d=0):
    if (n+d)/3>=1:
        print("糖果数为:%2d;现有的糖纸:%2d;##进入下个循环##:用这些糖果纸兑换的糖果:%d;兑换糖果后剩余的糖果纸值:%d;" % (n,n+d,int((n+d)/3),(n+d)%3))
        return n+f(int((n+d)/3),(n+d)%3)
       
    else:
        print("糖果数为:%2d,现有的糖纸:%2d;对应的糖纸不能兑换糖了.循环结束." % (n,d))
        return n


print("获得的总糖果数:%d" %(f(114)))

糖果数为:114;现有的糖纸:114;##进入下个循环##:用这些糖果纸兑换的糖果:38;兑换糖果后剩余的糖果纸值:0;
糖果数为:38;现有的糖纸:38;##进入下个循环##:用这些糖果纸兑换的糖果:12;兑换糖果后剩余的糖果纸值:2;
糖果数为:12;现有的糖纸:14;##进入下个循环##:用这些糖果纸兑换的糖果:4;兑换糖果后剩余的糖果纸值:2;
糖果数为: 4;现有的糖纸: 6;##进入下个循环##:用这些糖果纸兑换的糖果:2;兑换糖果后剩余的糖果纸值:0;
糖果数为: 2,现有的糖纸: 0;对应的糖纸不能兑换糖了.循环结束.
获得的总糖果数:170

2019-12-20 09:36
快速回复:有个数学题不知道如何写程序,请大神提示一下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015103 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved