(2016美团牛客网编程测试题)大富翁
来源:互联网 发布:数据二级有效性使用 编辑:程序博客网 时间:2024/06/08 01:00
/*
大富翁游戏,玩家根据骰子的点数决定走的步数,即骰子点数为1时可以走一步,点数为2时可以走两步,点数为n时可以走n步。求玩家走到第n步(n<=骰子最大点数且是方法的唯一入参)时,总共有多少种投骰子的方法。
输入描述:
输入包括一个整数n,(1 ≤ n ≤ 6)
输出描述:
输出一个整数,表示投骰子的方法
输入例子1:
6
输出例子1:
32
*/
由于是编程渣渣 所以想写的清楚一些 为了以后自己能看明白
/*
思路 1 : 题目中的n<=6 很重要 ,如果实在不会 可以手算出每个值 然后用switch ac 了这道题 (看到别人写的,才发现有些条件的重要性)
思路2: 理解题目很重要的呀 玩家走到第n步时(并不代表走了n次),总共有多少中投骰子的方法,就是说玩家有多少中投的办法可以走到n步处。(智障的自己 一开始不知道怎么想的 就是没有理解了题目)
递归思路:到了n 步处 由前一次到达的位置+ 投掷一次
玩家走了n步f(n),则可能性有:1、到n-1步f(n-1)+ 最后投了一个1
2、到n-2步f(n-2)时投了一个2
.。。。。。
n-1、到1步f(1)直接投了一个n-1
n、直接投出一个n
故:f(n)=f(n-1)+f(n-2)+......+f(1)+1;
*/
public class Main { public static void main(String[] args) { java.util.Scanner in = new java.util.Scanner(System.in); int n = in.nextInt(); System.out.println(fun(n)); } public static int fun(int n){ if(n==1) return 1; else{ int sum=0; for(int i=1;i<n;i++){ sum+=fun(i); } sum+=1; return sum; } }}
牛客网通过例子!!!!
纪念我的第一个技术博客
阅读全文
0 0
- (2016美团牛客网编程测试题)大富翁
- 大富翁
- 大富翁
- 大富翁
- 寻找大富翁(25 分)
- 寻找大富翁(25 分)
- 美团2017编程题—拼凑钱币&大富翁游戏&最大矩形面积&最长公共连续子串
- HDU3785寻找大富翁~~真真切切的水题
- 寻找大富翁(Top k问题)
- HDU-#3785 寻找大富翁(优先队列)
- HDU 3785 寻找大富翁 (排序)
- hdoj3785寻找大富翁(优先队列)
- hdoj 3785 寻找大富翁(优先队列)
- 7-38 寻找大富翁(25 分)
- PTA 寻找大富翁(25分)
- 【淘宝】测试编程题(最新)
- 大富翁。。。此大富翁非彼大富翁。。。。
- 大富翁论坛-富翁笔记-Delphi数据库处理(转载)
- 编译php追加postgresql的pgsql扩展模块
- 三种方法实现斐波那契数列
- Java在页面实现文件上传具体代码
- 合并子目录
- noip2013 火柴排队
- (2016美团牛客网编程测试题)大富翁
- 1770 数数字
- 与序列相关的几个内建函数
- http缓存机制
- Docker教程2
- 循环比赛日程表
- java语言基础——搜索算法
- Unity3D
- 大暴搜 [BZOJ3303] 太鼓达人