本期的題目,來(lái)自一本古老的書(shū)籍《孫子算經(jīng)》,是一道很經(jīng)典的數(shù)學(xué)題:
今有雉兔同籠,上有三十五頭,下有九十四足,問(wèn)雉兔各幾何?
翻譯過(guò)來(lái)就是:
有若干只雞和兔同在一個(gè)籠子里,從上面數(shù),有35個(gè)頭,從下面數(shù),有94只腳。問(wèn)籠中各有多少只雞和兔?
請(qǐng)問(wèn)答案是多少?
從純數(shù)學(xué)角度來(lái)看有不少種解法。那么用代碼實(shí)現(xiàn)的話,你會(huì)選擇怎樣寫(xiě)呢?
附加題:輸入頭數(shù) m 和腳數(shù) n,輸出雞的數(shù)量 c 和兔子的數(shù)量 r,或提示無(wú)解。
參考代碼將在下周給出,也可學(xué)習(xí)其他同學(xué)在留言中提交的代碼。
期待各位同學(xué)提交解答。
提交代碼可以使用 paste.ubuntu.com 或
codeshare.io 等代碼分享網(wǎng)站,只需將代碼復(fù)制上去保存,即可獲得一個(gè)分享地址,非常方便。
往期問(wèn)題可通過(guò)公眾號(hào)菜單欄“課外輔導(dǎo)”欄目中進(jìn)入查看。
【解答】房貸計(jì)算器
上次的題目,從編碼的層面來(lái)說(shuō)并沒(méi)有什么難度,只要你自己推導(dǎo)出或從網(wǎng)上找到計(jì)算公式,然后正確實(shí)現(xiàn)即可。
等額本息
每月月供額=[貸款本金×月利率×(1+月利率)^還款月數(shù)]÷[(1+月利率)^還款月數(shù)-1]
總利息=還款月數(shù)×每月月供額-貸款本金
等額本金
首月還款=貸款本金÷還款月數(shù)+貸款本金×月利率
每月減額=貸款本金÷還款月數(shù)×月利率
總利息=[(總貸款額÷還款月數(shù)+總貸款額×月利率)+總貸款額÷還款月數(shù)×(1+月利率)]÷2×還款月數(shù)-貸款本金
寫(xiě)成代碼:
money = int(input('貸款金額(萬(wàn)):'))
year = int(input('貸款期限(年):'))
rate = float(input('年利率(%):'))
factor = float(input('浮動(dòng)倍數(shù):'))
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))
@王炎 和 @王文亞 同學(xué)都實(shí)現(xiàn)了 GUI 的版本,效果很不錯(cuò)
:(在我的電腦上顯示比例稍稍有點(diǎn)不正常)
@迫聳、@L 也提交了正確的答案(@燦夜 的代碼頁(yè)面打不開(kāi)了)。
感謝各位同學(xué)的參與。
期待在下一期中看到你的代碼!
聯(lián)系客服