问题是:若一个人第一个月的工资是1500,以后每一年的工资都在原基础上增加10%,那么第n年他的工资是多少?分别用递归和递推的方法编写算法。
这个问题没啥好说的了,直接代码见吧(此外,递推相当于迭代)。
以下是代码↓
import java.util.Scanner;
public class FinalSalary{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("请输入要求的哪一年工资:");
int n = input.nextInt();
//方法一:递推(迭代)
int salary = 1500;
for(int i = 0 ; i < n ; i++){
salary *= 1.1;
}
System.out.println("第"+n+"年的工资为:" + salary);
System.out.println("第"+n+"年的工资为:"+ Salary(n));
}
//方法二:递归
public static int Salary(int n){
if(n == 1){
return 1500;
}else{
return (int)(Salary(n - 1) * 1.1);
}
}
}