java算法分别用递归和递推方法编写?

若一个人第1个月工资为1500元,以后每一年的工资都在原基础上增加10%,那么第n年他的工资是多少?请分别用递归和递推方法编写算法实现java语言描述,显示测试程序显示1-5年的工资。

//递归
private static double wages1(int n)
{
if (n <= 0)
{
return 0;
}
else if (n == 1)
{
return 1500*12;
}
else
{
return wages1(n-1) * 1.1;
}
}
//递推
private static double wages2(int n)
{
if (n <= 0)
{
return 0;
}
double wages = 1500 * 12;
for (int i = 1; i < n ; i++)
{
wages *= 1.1;
}
return wages;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-10-15
public static double test(double val, int n) {
if(n <= 1) return val;
return (val * 1.10f, --n);
}
调用这个函数,它的返回值就是n年后的工资(val为初始资金(1500),n为n年后)
相似回答