我想做Ruby codewars挑战,我卡住了,因为我通过样品测试,但不能通过最后一个。我得到错误预期:[8,597],而是得到:[8,563]。“买车”红宝石codewars
说明:
一个人有一个比较旧的车是价值$ 2000他看到二手车 价值8000美元。他想保留他的旧车,直到他可以买到二手车。
他认为他可以每月节省1000美元,但他的旧车 和新车的价格每月下降1.5%。此外,在每个 两个月结束时,损失百分比增加了固定的0.5%。每月丢失百分数
实施例:
如果,例如,在第一个月的末尾损失的百分比是1,损失的第二个月百分之 端为1.5,第三个月结束仍然 1.5,第4个月结束2等等......
你能帮助他吗?我们的人发现很难做出所有这些计算。
需要几个月的时间才能储备足够的钱来购买他想要的 赛车,剩下多少钱?
def nbMonths(startPriceOld, startPriceNew, savingperMonth, percentLossByMonth)
months = 0
leftover = 0
currentSavings = 0
until (currentSavings + startPriceOld) >= (startPriceNew)
months += 1
months.even? ? percentLossByMonth = percentLossByMonth + 0.5 : percentLossByMonth
startPriceNew = startPriceNew * (1 - (percentLossByMonth/100))
startPriceOld = startPriceOld * (1 - (percentLossByMonth/100))
currentSavings = currentSavings + savingperMonth
end
leftover = currentSavings + startPriceOld - startPriceNew
return [months, leftover.abs.to_i]
end
我不想看的解决方案,我并不需要一个这里只是在正确的方向轻推将是非常有益的。
此外,我得到的代码可能在很多方面都不是最佳的,但我已经开始编码2周前,所以尽我所能。
Tnx guys
只知道,这个卡塔的网址是什么? –
https://www.codewars.com/kata/554a44516729e4d80b000012/train/ruby – SrdjaNo1