PAT乙级(3)斐波那契凤尾 骨牌铺方格(water) 养兔子(water)

PAT乙级(3)斐波那契凤尾 骨牌铺方格(water) 养兔子(water)

题目描述

NowCoder号称自己已经记住了1-100000之间所有的斐波那契数。为了考验他,我们随便出一个数n,让他说出第n个斐波那契数。当然,斐波那契数会很大。因此,如果第n个斐波那契数不到6位,则说出该数;否则只说出最后6位。

输入描述:

输入有多组数据。每组数据一行,包含一个整数n (1≤n≤100000)。

输出描述:

对应每一组输入,输出第n个斐波那契数的最后6位。

输入例子:

1
2
3
4
100000

输出例子:

1
2
3
5
537501

代码:

//先计算出所有的斐波那契数     然后再进行判断.
    static long[] fib = new long[100001];
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        fib[1]=1;
        fib[2]=2;
        long num =0;
        for (int i = 3; i <100001; i++)
        {
            fib[i] =(fib[i-1]+fib[i-2])%1000000;
        }
        while (sc.hasNext())
        {
            int n = sc.nextInt();
            //   System.out.println(fib[n]);
            System.out.printf(n<25?"%d\n":"%06d\n",fib[n]);
            //会有第6位是0的情况,按正常输出就会出错,所以要修改为%06d
            //输出一个十进制的数,占六位,若不够六位则在这个数的前面补零

        }
    }

注意:

  1. 会有第6位是0的情况,按正常输出就会出错,所以要修改为%06d
  2. 先计算值,再进行输入

题目描述

在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数.
例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-upO4kXny-1569994894737)(http://uploadfiles.nowcoder.com/images/20141114/51_1415949553292_1(1)].jpg)

输入描述:

输入数据由多行组成,每行包含一个整数n,表示该测试实例的长方形方格的规格是2×n (1≤n≤90)。

输出描述:

对于每个测试实例,请输出铺放方案的总数,每个实例的输出占一行。

输入例子:

1
3
2

输出例子:

1
3
2

思路:

斐波那契变式题

代码:

import java.util.*;
public class Main{
      public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext())
        {
            int n = sc.nextInt();
            if (n<=2) System.out.println(n);
            else
            {
                long first=1;
                long second=2;
                long num =0;
                for (int i = 3; i <=n; i++)
                {
                    num = first+second;
                    first = second;
                    second =num;
                }
                System.out.println(num);
            }
        }
    }
}

要用long来存储

题目描述**

一只成熟的兔子每天能产下一胎兔子。每只小兔子的成熟期是一天。 某人领养了一只小兔子,请问第N天以后,他将会得到多少只兔子。

输入描述:

测试数据包括多组,每组一行,为整数n(1≤n≤90)。

输出描述:

对应输出第n天有几只兔子(假设没有兔子死亡现象)

输入例子:

1
2

输出例子:

1
2

代码同上一题目

测试数据包括多组,每组一行,为整数n(1≤n≤90)。

输出描述:

对应输出第n天有几只兔子(假设没有兔子死亡现象)

输入例子:

1
2

输出例子:

1
2

代码同上一题目

发布了96 篇原创文章 · 获赞 11 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_41852212/article/details/101914088