小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3…….
这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。
例如:
N = 4,M = 24:
4->6->8->12->18->24
于是小易最少需要跳跃5次,就可以从4号石板跳到24号石板
输入描述:
输入为一行,有两个整数N,M,以空格隔开。
(4 ≤ N ≤ 100000)
(N ≤ M ≤ 100000)

输出描述:
输出小易最少需要跳跃的步数,如果不能到达输出-1

输入例子:
4 24

输出例子:
5

import java.util.Scanner;public class Main {public static void main(String[] arg) {Scanner scan = new Scanner(System.in);while (scan.hasNext()) {int n = scan.nextInt();int m = scan.nextInt();if (n == m) {System.out.println(0);}else {System.out.println(solve(n,m));}}scan.close();}//bfsprivate static int solve(int n, int m) {int[] dp = new int[m + 1];int[] slates = new int[m];int num = 0;slates[num++] = n;for (int k = 0; k < num; k++) {int x = slates[k];for (int i = 2, ns = (int)Math.sqrt(x); i <= ns; i++) {if (x % i == 0) {int y = x + i;if (y <= m && dp[y] == 0) {dp[y] = dp[x] + 1;slates[num++] = y;}y = x + x / i;if (y <= m && dp[y] == 0) {dp[y] = dp[x] + 1;slates[num++] = y;}}}}return dp[m] == 0 ? -1 : dp[m];}}

网易2017校园招聘笔试题 跳石板相关推荐

  1. 网易2017校园招聘笔试题 优雅的点

    小易有一个圆心在坐标原点的圆,小易知道圆的半径的平方.小易认为在圆上的点而且横纵坐标都是整数的点是优雅的,小易现在想寻找一个算法计算出优雅的点的个数,请你来帮帮他. 例如:半径的平方如果为25 优雅的 ...

  2. 网易2017校园招聘笔试题 回文序列

    如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列.例如: {1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78 ...

  3. 网易2013校园招聘笔试题集锦

    第一部分(必做):计算机基础类 (所有的选择题都是多项选择) 1.假设进栈次序是e1, e2, e3, e4,那可能的出栈次序是() A.e2, e4, e3, e1 B.e2, e3, e4, e1 ...

  4. 蘑菇街2017校园招聘笔试题

    GO ON 1.下面的哪个选项是自底向上分析方法() 自底向上的分析技术 有: ( 1 )简单优先分析法 ( 2 )算符优先分析法 ( 3 )优先函数 ( 4 ) LR 分析法 自底向上分析法(bot ...

  5. 爱奇艺2017校园招聘笔试题

    成长值计算 时间限制:C/C++语言 1000MS:其他语言 3000MS 内存限制:C/C++语言 65536KB:其他语言 589824KB 题目描述: 爱奇艺累计有2000万会员,为了提高会员权 ...

  6. 2015网易游戏校园招聘笔试题 研发岗

    题量比较大,大题有6个. 1.最小字典序字符串, 2.递归绘图函数转非递归 3.游戏编程中常用的数据结构4叉树,有三问,一问是写出如何判断点在矩形中和判断两矩形是否相交,第二问是写创建四叉树的实现,第 ...

  7. 去哪儿2017校园招聘笔试题

    import java.util.Scanner;/*** filename extension* 时间限制:C/C++语言 1000MS:其他语言 3000MS* 内存限制:C/C++语言 6553 ...

  8. 去哪儿2017校园招聘笔试题——获得文件扩展名filename extension

    1. 题目 Please create a function to extract the filename extension from the given path,return the extr ...

  9. 去哪儿2017校园招聘笔试题——统计字符串中最先出现三次的字符

    1. 题目 统计字符 给定一个英文字符串,请写一段代码找出这个字符串中首先出现三次的那个英文字符. 输入 qywyery23tdd 输出 y 2. 分析 和所有统计英文字符一样,依次利用Hash算法将 ...

最新文章

  1. Nodejs.热部署方法
  2. yum源的超级简单配置
  3. pip无法更新_TensorFlow 2.0「开发者预览版」上线,内容每日更新
  4. GDCM:gdcm::TransferSyntax的测试程序
  5. Debian 9 更换源 使用国内源 配置方法
  6. SQL server数据异地备份到OSS
  7. 第二次Soring冲刺计划第一天(团队)
  8. python网络编程案例_python网络编程实例简析
  9. php js调用摄像头,js如何调用摄像头?js调用摄像头的方法(代码详解)
  10. 美团饿了吗外卖小程序CPS红包推广源码+可编译H5
  11. 比人工更智能更有趣的植物识别--形色
  12. windows server 2016 开启多用户登陆
  13. 怎样防止文件在停电时丢失
  14. 从技术实现角度看信贷ABS业务(一)
  15. 2021-02-26js学习-arguement,函数,作用域链,js代码执行流程,对象创建,new执过程.
  16. vue 微信浏览器缓存问题解决方案
  17. 如何检索下载英文文献
  18. 【教程】10秒关闭手机QQ空间动态中的黄钻通知!再见了@黄钻官方团队!(以及关闭更多烦人的通知提醒)----2020.09.12
  19. 【饥荒mod制作吧第五篇】MOD下载及安装
  20. ssh连接之xshell软件远程连接主机无法通过password登录

热门文章

  1. ubuntu11.04下Discuz论坛的安装
  2. Java毕设项目东理咨询交流论坛计算机(附源码+系统+数据库+LW)
  3. ansible的变量和机密
  4. linux运维cadn,Aprende an elaborar un amasamiento tГЎntrico citaciГіn
  5. html中事件监听的使用,Vue.JS入门篇--事件监听
  6. [Linux]termios
  7. 论文阅读笔记:《一种改进的图卷积网络半监督节点分类》
  8. promise是什么/怎么用
  9. python,os操作文件,文件路径(上一级目录)
  10. Android studio低版本让3.0编译通过,更好的用studio看代码(找不到原作者那个网址链接了,望见谅!)