|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 糖逗 于 2021-10-5 09:35 编辑
题目描述:
- 有一个特殊的正方形房间,每面墙上都有一面镜子。除西南角以外,每个角落都放有一个接受器,编号为 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
- 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
复制代码
- class Solution {
- public:
- int mirrorReflection(int p, int q) {
- //求最大公约数
- int greater = p, lower = q;        
- int temp;        
- while (lower > 0) {            
- temp = greater% lower ;            
- greater= lower ;            
- lower = temp;        
- }  
- int m = greater;      
- if ((p / m) % 2 == 0) {            
- return 2;        
- } else if ((q / m) % 2 == 0) {
- return 0;        
- } else {            
- return 1;       
- }  
- }
- };
复制代码
参考链接:https://leetcode-cn.com/problems ... hu-jie-ti-by-ivan1/ |
|