所以我从学校得到了这个问题:
一名学生赢得10万美元的价格并从1月1日起将其存入她的储蓄账户,每年4%的利息。每年年底,她都会提取5,000美元。
如果她达到45岁,会显示不同的信息,否则她可以继续这么久。
我想出了什么:
<?php
$start = 100000;
$year = 1;
do {
$start = $start - 5000;
$start = $start * 1.04;
$year++;
} while ($start > 0);
if ($year > 45) {
echo "Longer than 45 years";
} else {
echo "Amount of years: $year";
}
问题:我的老师说答案应该是40,而不是39.有谁知道我的错误在哪里?
答案 0 :(得分:0)
年应该从0开始,而不是1.你正在使用do [] while语句,而不是一段时间{}
此外,她只有在有现金的情况下才能继续退出,所以内部的守卫()应该是
while($start > 5000)
答案 1 :(得分:0)
使用此:
$start = 100000;
$year = 0;
while ($start > 5000)
{
$year++;
$start = $start * 1.04;
$start = $start - 5000;
}
if ($year > 45)
{
echo "Longer than 45 years";
}
else
{
echo "Amount of years: $year";
}