想象0到n-1个人围成一个圈,每个人中的距离是相等的,试求出firstNumber号对面的人是几号。用java写出代码
时间: 2024-05-04 09:16:25 浏览: 115
以下是用Java写出的解法:
```java
public static int findOppositePerson(int n, int firstNumber) {
/*
* 思路:
* 根据题意,每个人到其对面人的距离都是 n/2,即围成圆的直径的一半
* 因此,从firstNumber开始,每次加上n/2的距离,再对n取模,就能得到对面人的编号
* 注意:当firstNumber为奇数,对应的对面人为偶数;当firstNumber为偶数,对应的对面人为奇数
*/
return (firstNumber + n/2) % n;
}
```
相关问题
想象 0到n-1个人围成一个圈,每个人中的距离是相等的,试求出第 firstNumber 号对面的人是几号
如果 firstNumber 是0,那么第 firstNumber 号对面的人就是n-1号。
如果 firstNumber 是n-1,那么第 firstNumber 号对面的人就是0号。
如果 firstNumber 是其他数,那么第 firstNumber 号对面的人就是(firstNumber+n/2)%n号。
阅读全文