文章目录

  • 1. 题目
  • 2. 解题

1. 题目

有一个特殊的正方形房间,每面墙上都有一面镜子。
除西南角以外,每个角落都放有一个接受器,编号为 0, 1,以及 2。

正方形房间的墙壁长度为 p,一束激光从西南角射出,首先会与东墙相遇,入射点到接收器 0 的距离为 q 。

返回光线最先遇到的接收器的编号(保证光线最终会遇到一个接收器)。

示例:
输入: p = 2, q = 1
输出: 2
解释: 这条光线在第一次被反射回左边的墙时就遇到了接收器 2 。提示:
1 <= p <= 1000
0 <= q <= p

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/mirror-reflection
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 向上走的距离是 p 的倍数时,能碰上接收器,求 p, q 的最小公倍数 m
  • m 是 p 的偶数倍时,碰到南边,返回 0,否则碰到北边
  • m 是 q 的奇数倍时,碰到 1,偶数倍时碰到 2
class Solution { //C++
public:int mirrorReflection(int p, int q) {int g = __gcd(p, q);//最大公约数int m = p*q/g;//最小公倍数,向上走的距离if((m/p)%2 == 0)return 0;if((m/q)%2 == 1)return 1;return 2;}
};

0 ms 5.9 MB

class Solution: # py3def mirrorReflection(self, p: int, q: int) -> int:def gcd(a, b):while b:r = a%ba = bb = rreturn ag = gcd(q, p); # 最大公约数m = p*q/g; #最小公倍数,向上走的距离if (m/p)%2 == 0:return 0if (m/q)%2 == 1:return 1return 2

36 ms 13.1 MB


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 858. 镜面反射(最小公倍数/最大公约数)相关推荐

  1. Leetcode 858. 镜面反射 Python解法

    题目描述 有一个特殊的正方形房间,每面墙上都有一面镜子.除西南角以外,每个角落都放有一个接受器,编号为 0, 1,以及 2. 正方形房间的墙壁长度为 p,一束激光从西南角射出,首先会与东墙相遇,入射点 ...

  2. 最小公倍数最大公约数

    最小公倍数最大公约数 #include <iostream> #include <cstdio>using namespace std;int gcd(int a,int b) ...

  3. 最小公倍数 [最小公约数的拓展]

    题目描述: 求两个数的最小公倍数 样例输入: 10 14 样例输出: 70 解题思路: 两个数的最小公倍数等于这两个数的乘积除以他们的最大公约数. #include<bits/stdc++.h& ...

  4. 最小公倍数 最大公约数

    窗体设计如图: Label 4个 Edti 4个 button 1个. 代码: 1 unit Unit2; 2 3 interface 4 5 uses 6 Winapi.Windows, Winap ...

  5. 数学--数论--最小公倍数+最大公约数

    数学中约定: GCD(a,b)为a ,b的最大公因数 LCM(a,b)为小公倍数 必须要知道的公式: a*b = gcd(a,b) * lcm (a,b) 先说GCD怎么求: int gcd(int ...

  6. c语言最大公约数和最小公倍数_五年级数学最大公因数最小公倍数 练习

    五年级数学最大公因数最小公倍数-练习 一.填空. 1.把36分解质因数是(            ),把60分解质因数是(        ). 2.自然数a除以自然数b,商是15,那么a和b的最大公因 ...

  7. 最大公约数,最小公倍数,质因式分解

    目录 简单代码算出最大公约数,最小公倍数: 辗转相除法得到最大公约数: 两数相乘倒序最小公倍数: 分解质因式, 打印输出, 并且存到列表 主程序: 由质因式得到最小公倍数: 简单代码算出最大公约数,最 ...

  8. 用python实现求最大公约数_python实现求最大公约数与最小公倍数

    记录python实现最大公约数&最小公位数两种算法 概念 最大公约数:指两个或多个整数共有约数中最大的一个 最小公倍数:两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就 ...

  9. 【C/C++】最大公约数和最小公倍数(辗转相除、更相减损、stein)

    一.最大公约数和最小公倍数 数学性质: 如果b是A和B的公约数,那么:b也是A+B的约数,即b是A,B,A+B的公约数.b也是A-B的约数,即b是A,B,A-B的公约数.更一般地,对于任意整数x.y, ...

最新文章

  1. 敏捷开发之道(二)极限编程XP
  2. 三: cocos2d-x代码分析
  3. SpringBoot中常见的错误
  4. MAC OS 10.10.5虚拟机免费下载(可安装Xcode7)
  5. wxWidgets:在全局范围内捕捉关键事件
  6. uglifyjs报错 webpack_基于vue2.X的webpack基本配置,教你手动撸一个webpack4的配置
  7. 40. Combination Sum II 组合总和 II
  8. .net 获取字符串中的第一个逗号的位置_SQLZOO中做错过的题
  9. cdoj 1246 每周一题 拆拆拆~ 分解质因数
  10. 【hive】hive权限
  11. 泛型 java 总结_JAVA泛型总结
  12. 递推算法之平面分割问题总结
  13. cydia无法安装卸载插件_【初识太极】CAD卸载不干净无法重新安装怎么办?
  14. [ABAP]批量查询工艺路线
  15. 使压缩文件隐藏在图片格式中的方法(c语言版)--图片合成器
  16. POC原型开发:巡店 一期结果
  17. 方根法公式_方根的简易算法
  18. excel 基础笔记整理
  19. 【踩坑实录】Mission planner+Ardupilot飞控固件配置教程
  20. 计算机应用基础学习网站,《计算机应用基础》学习手册.pdf

热门文章

  1. 塑料封装可靠性问题浅析
  2. Djang重新整理migrations,解决:Django Table xxx already exist
  3. docker-compose下载慢_编写Docker Compose时要注意的五大常见错误
  4. php 图片无法删除,php如何删除上传的图片
  5. mysql+根密码是什么意思,重设MySQL根密码
  6. django--通过model拿到字段对象
  7. 假期第一次编程总结(改二)
  8. [Lydsy1805月赛] 对称数
  9. CS224n笔记3 高级词向量表示
  10. Collection中Set集合在应用中常见的方法和注意点