zoukankan      html  css  js  c++  java
  • 递归算法

    1. 递归算法的思路:

     1 import java.util.Scanner;
     2 
     3 /*
     4  * 把十进制数转换为二进制数
     5  * 比如(121)(10) = (1111001)(2)
     6  * 
     7  * 这里就用到了递归算法,不断调用自身函数. 另外, 对于结果的处理第从低位往高位开始处理的.
     8  * 
     9  */
    10 
    11 public class DiGui {
    12 
    13     public static String convertTo(String result, int dividend, int divisor){
    14         
    15         //既是初始化判断,亦是收敛的判断
    16         if(dividend == 0){
    17             result="";
    18             return result;
    19         }
    20 
    21         /*
    22          * 有两点需要注意:
    23          * 1. 这里需要写出不断调用子函数的形式
    24          * 2. 对于返回的结果值要用一个值去接收
    25          */
    26         result = convertTo(result,dividend/divisor,divisor);
    27         
    28         //对于递归函数的处理结果,是从低位往高位亦即从后往前处理的
    29         result += String.valueOf(dividend%divisor);
    30         
    31         return result;
    32     }
    33     
    34     public static void main(String[] args) {
    35         
    36         @SuppressWarnings("resource")
    37         Scanner in = new Scanner(System.in);
    38         
    39         System.out.print("请输入被除数: ");
    40         int dividend = in.nextInt();
    41         
    42         System.out.print("请输入被除数: ");
    43         int divisor = in.nextInt();
    44         
    45         String result = "";
    46         result = convertTo(result, dividend, divisor);
    47         
    48         System.out.println(dividend+"的"+divisor+"进制数是:"+ result);
    49     }
    50     
    51     
    52     
    53 }
    View Code
  • 相关阅读:
    钟国晨160809323(作业5)
    12
    11
    第九次
    8作业
    第七次作业
    6
    林昊5
    计算机网络原理与应用笔记 3/29
    计算机网络原理与应用笔记 3/22
  • 原文地址:https://www.cnblogs.com/fengze/p/7998068.html
Copyright © 2011-2022 走看看