题目描述

小青蛙Bob是一只没有理想的青蛙,游手好闲,真印了那句话,干啥啥不行,吃啥啥不剩,今天Bob想要前往另外一片荷叶上晒太阳,于是他盘算着如何才能跳到另外一片叶子上,现在假设荷叶在一直线上,每个荷叶都有一个编号从1到n,(n<=5*10^8),Bob有两种跳法,第一:跳到当前所处的荷叶编号的二倍处,第二:跳到当前所处的荷叶编号的三倍处
现在给出你Bob所处的荷叶编号和他想去的荷叶编号,请你告诉他最少需要多少步他才能到达他想去的荷叶。

输入

第一行给出一个整数T(0<T<=100),表示有T组测试数据,而后T行,每行给出两个整数分别表示Bob现在所处的荷叶编号以及他想去的荷叶编号。

输出

对于每个测试样例,输出一个整数表示他最少需要多少步他才能到达他想去的荷叶,如果无法到达,请输出-1.

样例输入 Copy

2
2 12
2 36

样例输出 Copy

2
3

解题思路:其实就是一道数学问题,俩数取余如果为0的话,那就压根不可达,当取余为0时就可以接着往下计算了,通过相除得到的商就是要考虑的点,本题要考虑的就是计算这个商可以被2和3除以多少次,按照这个思路写就行了。

这道题是19年内蒙古师范大学ACM校赛的第一道题,代码是暴力过的,没有考虑优化,欢迎大家一起讨论。

加油加油!!!!

#include<iostream>
using namespace std;int main()
{int number = 0;cin >> number;int start = 0, end = 0;int step = 0;for (int i = 0; i < number; ++i){step = 0;cin >> start >> end;int middle = 0;middle = end / start;int flag = 0;if (end%start != 0)flag = 1;while (middle != 0){if (middle == 1){break;}if (middle % 3 == 0){middle = middle / 3;step++;continue;}if (middle % 2 == 0){middle = middle / 2;step++;continue;}flag = 1;//用来判断是不是不可达break;}if (flag == 1||middle==0)cout << "-1" << endl;else{cout << step << endl;}}return 0;
}

1134: 小青蛙,跳跳跳相关推荐

  1. 斐波那契数列、小青蛙跳台阶

    方法一: 用列表存储已经计算好的数字,省去每次递归求所需数据过程: public int fib1(int n) {List<Integer> nums = new ArrayList&l ...

  2. 汉诺塔和小青蛙跳台阶问题

    //Editor:ApophisJ //Date:2022年10月12日 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> //汉诺 ...

  3. 小青蛙跳台阶的另类思考

    如何输出所有的方式 小青蛙跳台阶的问题已经被讨论过很多次,今天突然有人问我如何将跳的所有办法都输出出来 欢迎大家讨论,本人也很感兴趣

  4. CocosCreator实战项目1:忍者跳跳跳

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 摘要 正文 使用版本 游戏截图 游戏资源面板 脚本关系 代码部分 结语 摘要 CocosCreator模仿4399忍者跳跳跳 ...

  5. 小恐龙跳跳跳-周雨涵小游戏 -C

    小恐龙跳跳跳! ***找到的游戏. 在google chorme浏览器上,关掉网络,打开一个网站,15秒 后点空格,小恐龙跳跳跳! 注:xxx在2021-4-18日告诉我的游戏! 按'->'让小 ...

  6. 简单的小青蛙跳一跳问题

    一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶.求该青蛙跳上一个 n 级的台阶总共有多少种跳法. 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1 ...

  7. leetcode 小青蛙跳梯子

    描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 示例1 输入: 2 复制 返回值: 2 对于第n个台阶来说,只能从n-1或 ...

  8. 动态规划解决小青蛙跳台阶问题

    题目描述 入门版:一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 变态版:一只青蛙一次可以跳上1级台阶,也可以跳上2级,也可以跳 ...

  9. 1330 小青蛙跳台阶

    看题可知,这是一个排列组合问题,因此我们使用二维数组,算出跳2级台阶和跳1级台阶的数量即可算出答案 例如当总共台阶数为6时 跳1级台阶 跳2级台阶 6 0 4 1 2 2 0 3 把每种可能相加即可得 ...

最新文章

  1. 微软服务器无法删除不了,微软终于决定解决 “进程占用而无法删除某文件”的问题...
  2. 文本和代码文件助手软件
  3. 产品经理如何开始数据分析之路?(基础知识)
  4. android 三星 拍照,安卓里面拍照最好的三个品牌,OPPO华为三星怎么选
  5. 库-libuv:概述
  6. PHP的stdClass
  7. linux 挂载ntfs格式硬盘
  8. 以小窥大,从一盏路灯看亿万物联网之路
  9. 梯度下降法与正规方程的比较
  10. Android 签名类型
  11. SpringBoot简明教程
  12. **容易混淆的4中park变换**(转载)
  13. CentOS8.3安装时安装源设置基础软件仓库时出错
  14. 吐槽大会 之博客园两个月使用体验
  15. phpmail通过qq发邮箱失败_请问phpmailer发送Gmail总是失败是什么原因,qq邮件可以发送出去...
  16. 实验13:20220625 1+X 中级实操考试(id:3411)
  17. egg-views-ejs
  18. “数学界的诺贝尔奖”出炉,4人获奖
  19. Aura Components Basics on Trailhead —— Input Data Using Forms
  20. EOJ Monthly 2018.12 B. 清点星辰(蒙特卡洛模拟)

热门文章

  1. 表单提交 参数为中文时乱码解决办法
  2. 第一坊颜韵YCY恶心主播,忘恩负义白眼狼说颜韵真不过分
  3. kuangbin带你飞 专题一
  4. 30天自制操作系统笔记(九十)
  5. 钟汉良日记:为何我持续写日记四十天后,让他精神层面完全被影响?
  6. 乌班图linux分辨率不能调,ubuntu分辨率1024*768无法选择解决方法
  7. Microsoft Word 插件开发——Word外接应用程序开发
  8. javax.validation.constraints.NotNull找不到
  9. Android密钥证书管理相关介绍
  10. 一屏变双屏,有了ProPresenter 6你也可以做到!