A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. <div class="blockcode"><blockquote>import java.util.Scanner;

  2. class Recursion
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 Scanner sc = new Scanner(System.in);
  7.                 System.out.println("请输入一个正整数:");
  8.                 int n = sc.nextInt();

  9.                 int cowNum = cow(n);
  10.                 System.out.println(n+"年后,共有母牛"+cowNum+"头。");
  11.         }

  12.         /*
  13.         编程求解:若一头小母牛,从出生起第四个年头开始每年生一头母牛,按次规律,第 n 年时有多少头母牛?
  14.         1 1 1 2 3 4 6 9 13 19 28 ... fn=f(n-1)+f(n-3)
  15.         1 2 3 4 5 6 7 8 9
  16.         */

  17.         public static int cow(int n)
  18.         {
  19.                 if (n<=0)
  20.                 {
  21.                         return 0;
  22.                 }
  23.                 else if (n<=3)
  24.                 {
  25.                         return 1;
  26.                 }
  27.                 else
  28.                 {
  29.                         return cow(n-1)+cow(n-3);
  30.                 }
  31.         }
  32. }

复制代码

import java.util.Scanner;

class Recursion1
{
        /*
        数列:1 1 2 3 5 8 13 21
         n=(n-1)+(n-2)
         需求:用递归的方法得出以上数列的第n个数的值
        */
        public static int series(int n)        //只能递归到46,到47时运算出负数。
        {
                if(n==1)
                        return 1;
                else if(n==2)
                        return 1;
                else
                        return series(n-1)+series(n-2);
        }

        public static void main(String[] args)
        {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个正整数:");
                int n = sc.nextInt();

                int result = series(n);
                System.out.println("该数列的第"+n+"个数是:"+result);
        }


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马