首页 > 试题广场 >

跳石板

[编程题]跳石板
  • 热度指数:37223 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
小易来到了一条石板路前,每块石板上从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
示例1

输入

4 24

输出

5
头像 诗云panther
发表于 2021-08-24 14:27:47
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader; public class Main { public static void main(String[] arg 展开全文
头像 喜欢可抵岁月漫长
发表于 2023-09-24 09:40:26
import java.util.*; import java.util.List; import java.util.ArrayList; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static v 展开全文
头像 戊子仲秋
发表于 2023-04-03 22:22:42
#include <climits> #include <iostream> #include <vector> using namespace std; //求约数 void get_y(vector<int>& v, int x) { f 展开全文
头像 灿烂ll人生
发表于 2020-10-12 20:39:27
超时//////////////////// #include<bits/stdc++.h> using namespace std; void NumYue(int N,vector<int>&v){//判断是否是约数 for(int i=2;i<N; 展开全文
头像 我fo慈悲
发表于 2023-07-24 15:33:52
#include <climits> #include <cmath> #include <iostream> #include<vector> using namespace std; void get_div_num(int n, vector& 展开全文
头像 梦西州
发表于 2023-10-15 21:07:05
#include <cstdio> #include <iostream> #include<cmath> using namespace std; const int N = 1e5 + 10; int f[N]; int step[N]; int main() 展开全文
头像 完全没头绪
发表于 2023-04-02 15:32:42
using System; using System.Collections; using System.Collections.Generic; public class Program { //取得num的因数,装在stack中 public static void div(int 展开全文
头像 硌手的小虫子
发表于 2023-04-06 20:01:57
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner sc=new Sca 展开全文
头像 神奇的做题家年薪百万
发表于 2023-10-16 01:14:49
#include <climits> #include <iostream> #include <vector> #include <cmath> using namespace std; vector<int> GetDiv(int n 展开全文
头像 薯条和番茄酱
发表于 2023-04-17 20:39:25
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { //初始化一个数组,下标代表石板号, 展开全文