Given that N person (numbered 1 to N) standing as to form a circle. They all have the gun in their hand which is pointed to their leftmost Partner.
Every one shoots such that 1 shoot 2, 3 shoots 4, 5 shoots 6 …. (N-1)the shoot N (if N is even otherwise N shoots 1).
Again on the second iteration, they shoot the rest of remains as above mentioned logic (now for n as even, 1 will shoot to 3, 5 will shoot to 7 and so on).
The task is to find which person is the luckiest(didn’t die)?
Input: N = 3
As N = 3 then 1 will shoot 2, 3 will shoot 1 hence 3 is the luckiest person.
Input: N = 8
Here as N = 8, 1 will shoot 1, 3 will shoot 4, 5 will shoot 6, 7 will shoot 8, Again 1 will shoot 3, 5 will shoot 7, Again 1 will shoot 5 and hence 1 is the luckiest person.
This problem has already been discussed in Lucky alive person in a circle | Code Solution to sword puzzle. In this post, a different approach is discussed.
- Take the Binary Equivalent of N.
- Find its 1’s compliment and convert its equal decimal number N`.
- find |N – N`|.
Below is the implementation of the above approach:
- Lucky alive person in a circle | Code Solution to sword puzzle
- Mid-Point Circle Drawing Algorithm
- Draw a circle without floating point arithmetic
- Maximum number of consecutive 1's in binary representation of all the array elements
- Maximum frequency of a remainder modulo 2i
- Maximum Sum of Products of two arrays by toggling adjacent bits
- Split the binary string into substrings with equal number of 0s and 1s
- Sum of the updated array after performing the given operation
- Maximum Bitwise OR pair from a range
- Count of columns with odd number of 1s
- Number of subarrays with GCD = 1 | Segment tree
- Find closest integer with the same weight
- Minimum number of coins that can generate all the values in the given range
- Check whether the given decoded string is divisible by 6
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.