【每周一坑】鸡兔同笼 +【解答】房贷计算器

简介: 附加题:输入头数 m 和脚数 n,输出鸡的数量 c 和兔子的数量 r,或提示无解。

本期的题目,来自一本古老的书籍《孙子算经》,是一道很经典的数学题:


今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?


翻译过来就是:


有若干只鸡和兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔?


请问答案是多少?


从纯数学角度来看有不少种解法。那么用代码实现的话,你会选择怎样写呢?


附加题:输入头数 m 脚数 n,输出鸡的数量 c兔子的数量 r,或提示无解


参考代码将在下周给出,也可学习其他同学在留言中提交的代码。

期待各位同学提交解答。

提交代码可以使用 paste.ubuntu.com

codeshare.io 等代码分享网站,只需将代码复制上去保存,即可获得一个分享地址,非常方便。



【解答】房贷计算器


上次的题目,从编码的层面来说并没有什么难度,只要你自己推导出或从网上找到计算公式,然后正确实现即可。


等额本息


每月月供额=[贷款本金×月利率×(1+月利率)^还款月数]÷[(1+月利率)^还款月数-1]

总利息=还款月数×每月月供额-贷款本金


等额本金


首月还款=贷款本金÷还款月数+贷款本金×月利率

每月减额=贷款本金÷还款月数×月利率

总利息=[(总贷款额÷还款月数+总贷款额×月利率)+总贷款额÷还款月数×(1+月利率)]÷2×还款月数-贷款本金


写成代码:


money = int(input('贷款金额(万):'))
year = int(input('贷款期限(年):'))
rate = float(input('年利率(%):'))
factor = float(input('浮动倍数:'))
month = year * 12
month_rate = rate / 100 * factor / 12
money *= 10000
month_pay = (money * month_rate * (1 + month_rate) ** month) / ((1 + month_rate) ** month - 1)
all_pay = month_pay * month
print('等额本息')
print('每月还款 %.2f' % month_pay)
print('总支付利息 %.2f' % (all_pay - money))
month_pay = money / month + money * month_rate
pay_down = money / month * mo nth_rate
all_pay = ((money / month + money * month_rate) + money / month * (1 + month_rate)) / 2 * month
print('等额本金')
print('首月还款 %.2f' % month_pay)
print('每月递减 %.2f' % pay_down)
print('总支付利息 %.2f' % (all_pay - money))

@王炎 和 @王文亚 同学都实现了 GUI 的版本,效果很不错


(在我的电脑上显示比例稍稍有点不正常)


@迫耸、@L 也提交了正确的答案(@灿夜 的代码页面打不开了)。


感谢各位同学的参与。


期待在下一期中看到你的代码!


如需了解视频课程及答疑群等更多服务,请号内回复 码上行动

代码相关问题可以在论坛上发帖提问 bbs.crossincode.com

推荐阅读:

开发工具 | 世界杯 | 高考 | 我用Python | 知乎 | 排序 | 朋友圈 | 电影票 | 技术宅 | 火车票 | 单词表 | 押韵工具 | 新手建议 | 就业

相关文章
|
6月前
|
算法 搜索推荐 程序员
第四十练 计算后缀表达式
第四十练 计算后缀表达式
56 0
|
5月前
|
C++
每周一坑--简单的计算器
每周一坑--简单的计算器
|
6月前
|
C语言
每天一道C语言编程练习(5):尼科彻斯定理
每天一道C语言编程练习(5):尼科彻斯定理
50 0
|
算法 Java C++
【洛谷算法题】P2433-小学数学 N 合一【入门2分支结构】
【洛谷算法题】P2433-小学数学 N 合一【入门2分支结构】
|
数据安全/隐私保护 计算机视觉 Python
【每周一坑】新个税计算器 + 【解答】数字水印
详细解答和参考代码将在下次栏目中给出,也可以其他同学在留言中的代码。
|
机器学习/深度学习 数据采集 人工智能
【每周一坑】杨辉三角形
了解完背景知识之后,来看看对应的题目,定义一个函数 yanghui() ,传入正整数参数 M、N,分别代表杨辉三角形第 M 行,左起第 N 个数字(M,N 都从 0 开始计算)。入超出范围则返回 invalid query 。
|
算法 C++ Python
【每日算法Day 68】脑筋急转弯:只要一行代码,但你会证吗?
【每日算法Day 68】脑筋急转弯:只要一行代码,但你会证吗?
114 0
|
并行计算 C++
这道小学六年级的数学题,恕我直言没几个人会做
这道小学六年级的数学题,恕我直言没几个人会做
454 0
7-293 鸡兔同笼
7-293 鸡兔同笼
87 0
|
存储
妈,旧电脑连加法都算错了,我要换新的
妈,旧电脑连加法都算错了,我要换新的