面试题

本文提供了三个递归算法的实现案例,包括求1到100的和、求1到10的乘积以及将四位数的每一位数字相加。通过这些实例,读者可以更好地理解递归算法的工作原理。

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);
  }
}

 

--------------------------------------------------------简单的不能再简单了(不要害怕面试)。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值