马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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/ |