zoukankan      html  css  js  c++  java
  • 算法编程学习之递归

    递归:程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。

    实例:

    1.一个整数, 大于 0, 不用循环和本地变量, 按照 n, 2n, 4n, 8n 的顺序递增, 当值大于 5000 时, 把值按照指定顺序输出来。

    例: n=1237
    则输出为:
    1237,
    2474,
    4948,
    9896,
    9896,
    4948,
    2474,
    1237,
    提示: 写程序时, 先致谢按递增方式的代码, 写好递增的以后, 再增加考虑递减部分 
    代码:

     1 import java.util.Scanner;
     2  
     3  public class demo {
     4      //递归函数
     5     public static void fun(int i){
     6         System.out.println(i);//先输出一下i值用于输出递增数据
     7         if(i<=5000){//满足条件调用自身
     8             fun(2*i);
     9         }
    10         System.out.println(i);//用于输出递减
    11      }
    12      public static void main(String[] args) {
    13         System.out.println("请输入一个整数:(小于5000)");
    14         Scanner scanner = new Scanner(System.in);
    15          int i= scanner.nextInt();
    16         //调用递归函数
    17         fun(i);
    18     }
    19 }

    2.第 1 个人 10, 第 2 个比第 1 个人大 2 岁, 依次递推, 请用递归方式计算出第 8个人有多大?

     1 import java.util.Scanner;
     2 
     3 public class demo {
     4     //递归函数
     5     public static int computeAge(int n)
     6     { 
     7         if(n==1) return 10;
     8         return computeAge(n-1) + 2;
     9     } 
    10     //主方法程序入口
    11     public static void main(String[] args) {
    12         //输入一个整数
    13         System.out.println("请选择计算第几位的年龄:");
    14         Scanner scanner = new Scanner(System.in);
    15         int i= scanner.nextInt();
    16         //调用递归函数
    17         System.out.println("第"+i+"位的年龄是"+computeAge(i));
    18     }
    19 }
     
  • 相关阅读:
    【构建二叉树】01根据前序和中序序列构造二叉树【Construct Binary Tree from Preorder and Inorder Traversal】
    PHP 语言需要避免的 10 大误区
    极客编程必备的五大PHP开发应用
    你听说过PHP 的面向方面编程吗?
    8个开发必备的PHP功能
    写给系统管理员的25个PHP安全实践
    PHP输出缓冲控制- Output Control 函数应用详解
    创建高安全性PHP网站的几个实用要点
    简化PHP开发的10个工具
    PHP文件下载原理
  • 原文地址:https://www.cnblogs.com/zhaideyou/p/5935277.html
Copyright © 2011-2022 走看看