1、写一个从1到100相加的递归。
2、写一个从1到10相乘的递归。
3、一个4位数,例如:1 2 3 4。分成4个1位数相加
1+2+3+4;的结果是多少?(用代码实现)。
---------------------------------------------------
1、答案是:
public class Test{
public static void main(String[] args){
System.out.println(Test.sum(100));
}
public static int sum(int i){
if(i==1){
return 1;
}else{
return sum(i-1)+i;
}
}
}
---------------------------------------------------
2、答案是:
public class Test1{
public static void main(String[] args){
System.out.println(Test1.mul(10));
}
public static int mul(int i){
if(i==1){
return 1;
}else{
return mul(i-1)*i;
}
}
}
----------------------------------------------
3、答案是:
解法一
package org.e101.com;
public class Test16 {
public static void main(String[] args){
int sum;
String s="1234";
String s1=s.substring(0, 1);
String s2=s.substring(1, 2);
String s3=s.substring(2, 3);
String s4=s.substring(3, 4);
int ss1=Integer.parseInt(s1);
int ss2=Integer.parseInt(s2);
int ss3=Integer.parseInt(s3);
int ss4=Integer.parseInt(s4);
sum=ss1+ss2+ss3+ss4;
System.out.println("****************ss1+ss2+ss3+ss4="+sum);
}
}
解法二
package org.e101.com;
public class Test16 {
public static void main(String[] args){
int sum = 0;
int dg=0;
String s="1234";
for(int i=0;i<s.length();i++){
dg=Integer.parseInt(s.substring(i, i+1));
sum+=dg;
}
System.out.println("****************sum="+sum);
}
}
--------------------------------------------------------简单的不能再简单了(不要害怕面试)。
本文提供了三个递归算法的实现案例,包括求1到100的和、求1到10的乘积以及将四位数的每一位数字相加。通过这些实例,读者可以更好地理解递归算法的工作原理。
12万+

被折叠的 条评论
为什么被折叠?



