题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。
public class sss {
public static void main(String [] args){
int age =10;
int x;
for(x=1;x<5;x++){
age = age+2;
}
System.out.println("第五个人是"+age);
}
}这个算是递归么? 我这个是从第一个人开始算到第五个
请问咋样从第五个算到第一个呢?
1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。
public class sss {
public static void main(String [] args){
int age =10;
int x;
for(x=1;x<5;x++){
age = age+2;
}
System.out.println("第五个人是"+age);
}
}这个算是递归么? 我这个是从第一个人开始算到第五个
请问咋样从第五个算到第一个呢?
public class Test{
public static void main(String[] args){
System.out.print(ageOfIndex(5));
}
public static int ageOfIndex(int n){
if(n<=0) return -1;
if(n == 1) return 10;
return ageOfIndex(n-1)+ 2;
}
}
我写了个 你看看
public class Test {
public static void main(String args[]){
System.out.println(Age(5));
}
public static int Age(int n){
if(n == 1)
return 10;
else
return Age(n-1) + 2;//这里就是递归调用Age方法
}}
{
private static int age = 10; public static int doAge(int n)
{ return n == 1 ? age : 2 + doAge(n - 1);
} public static void main(String[] args)
{
System.out.println(doAge(5));
}}
public class TestSize {
public static void main(String[] args) {
System.out.println(ageAdd(5, 2, 10));
}
public static int ageAdd(int num, int space, int lastAge) {
if(num <=0 ){
return -1;
}else if(num == 1) {
return lastAge;
}
return space + ageAdd(num-1, space, lastAge);
}
}
public class Ex23_Age { public static void main(String[] args) {
System.out.println(getAge(5));
} private static int getAge(int i) {
if(i == 1) {
return 10;
} else {
return getAge(i - 1) + 2;
}
}}
public int f(int i)
{
if(i==1)retrun 10;
else return age[i]+f(i-1);
}
2楼的,ls的,你都可以看看。