小明走格子 (10 分)(Java)

简介: 小明走格子 (10 分)(Java)

从A点到B点有n个格子,小明现在要从A点到B点,小明吃了些东西,补充了一下体力,他可以一步迈一个格子,也可以一步迈两个格子,也可以一步迈3个格子,也可以一步迈4个格子。请编写程序计算小明从A点到B点一共有多少种走法。

709690591a96fdebc0799e81457c754b.jpg


输入格式:

输入包含多组数据,第一行为一个整数m,m不超过10000,表示输入数据组数。接下来m行,每行为一个整数n(保证对应的输出结果小于231),表示从A点到B点的格子数。


输出格式:

输出为m个整数,表示对于每组数据小明从A点到B点的走法数。


输入样例:

1. 2
2. 5
3. 3


输出样例:

1. 15
2. 4


java里面的快读:

1:我们在使用他时,我们要导入io包,他时io包中的类

2:在使用这个类时,函数要throws IOException

3:StreamTokenizer re = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));

4:StreamTokenizer 类中 有个方法是 nval 这个方法就是我们读取数据的方法,他默认是double类型的

5:b[i] = b[i-1] + b[i-2] + b[i - 3] + b[i - 4] == > b[i] = 2 * b[i - 1] - b[i - 5]

import java.io.*;
import java.util.*;
public class Main {
  public static void main(String args[]) throws IOException{
    StreamTokenizer re = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
    re.nextToken(); 
        int T = (int)re.nval;
    int a[] = new int[10010];
        int b[] = new int[100];
        int i,j,maxx = 0;
        for(i=0;i<T;i++)
        {
            re.nextToken();
            a[i] = (int)re.nval;
            if(maxx < a[i]) maxx = a[i];
        }
        b[0] = 1;b[1] = 1;b[2] = 2;b[3] = 4;b[4] = 8;
        for(i=5;i<=maxx;i++) b[i] = 2 * b[i - 1] - b[i - 5];
        for(i=0;i<T;i++)
            System.out.println(b[a[i]]);
  }
}


目录
相关文章
从磁盘读取成本分析两种 100% 遍历思路:按格子遍历 & 按线遍历 | Java 刷题打卡
从磁盘读取成本分析两种 100% 遍历思路:按格子遍历 & 按线遍历 | Java 刷题打卡
|
3月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
233 1
|
3月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
246 1
|
4月前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案
Java 数据库 Spring
200 0
|
4月前
|
算法 Java
Java多线程编程:实现线程间数据共享机制
以上就是Java中几种主要处理多线程序列化资源以及协调各自独立运行但需相互配合以完成任务threads 的技术手段与策略。正确应用上述技术将大大增强你程序稳定性与效率同时也降低bug出现率因此深刻理解每项技术背后理论至关重要.
364 16
|
5月前
|
缓存 并行计算 安全
关于Java多线程详解
本文深入讲解Java多线程编程,涵盖基础概念、线程创建与管理、同步机制、并发工具类、线程池、线程安全集合、实战案例及常见问题解决方案,助你掌握高性能并发编程技巧,应对多线程开发中的挑战。
|
5月前
|
数据采集 存储 前端开发
Java爬虫性能优化:多线程抓取JSP动态数据实践
Java爬虫性能优化:多线程抓取JSP动态数据实践
|
6月前
|
Java API 调度
从阻塞到畅通:Java虚拟线程开启并发新纪元
从阻塞到畅通:Java虚拟线程开启并发新纪元
389 83
|
6月前
|
安全 算法 Java
Java 多线程:线程安全与同步控制的深度解析
本文介绍了 Java 多线程开发的关键技术,涵盖线程的创建与启动、线程安全问题及其解决方案,包括 synchronized 关键字、原子类和线程间通信机制。通过示例代码讲解了多线程编程中的常见问题与优化方法,帮助开发者提升程序性能与稳定性。
306 0