Riddle #613

logicmathmysterydetective

100 people are standing in a circle. The person standing at number 1 is having a sword. He kills the person next to him with the sword and then gives the sword to the third person. This process is carried out till there is just one person left. Which number survives at the last?
73rd person will survive at last. If the number of players is the power of 2, the last person to survive will be the one who started it. But since the number here is not the power of 2, we will take the greatest power of 2 that is less than the number of players (100) which is 64. So when starting with 100 players - we need to kill 36 of them to get down to a power of 2 (64). Since we kill every other person starting at player 2 the last person we need to die is player 72, they will be killed by player 71 and the first person in the effective power of 2 game, who will win is player 73. It's worth noting that this process of reducing to a power of 2 will always be completed in the first round regardless of the number of players. Consider X players, let Y be the highest power of 2 that is less than or equal to Y The winning player is 2 * (X - Y) + 1
37.21 %
171 votes

Similar riddles

See also best riddles or new riddles.

logicmathclean

Consider the following explanation for why 1=2: 1. Start out Let y = x 2. Multiply through by x xy = x2 3. Subtract y2 from each side xy - y2 = x2 - y2 4. Factor each side y(x-y) = (x+y)(x-y) 5. Divide both sides by (x-y) y = x+y 6. Divide both sides by y y/y = x/y + y/y 7. And so... 1 = x/y + 1 8. Since x=y, x/y = 1 1 = 1 + 1 8. And so... 1 = 2 How is this possible?
Step 5 is invalid, because we are dividing by (x-y), and since x=y, we are thus dividing by 0. This is an invalid mathematical operation (division by 0), and so by not followinng basic mathematical rules, we are able to get strange results like these.
83.67 %
51 votes
logicmathclever

You are standing in a pitch-dark room. A friend walks up and hands you a normal deck of 52 cards. He tells you that 13 of the 52 cards are face-up, the rest are face-down. These face-up cards are distributed randomly throughout the deck. Your task is to split up the deck into two piles, using all the cards, such that each pile has the same number of face-up cards. The room is pitch-dark, so you can't see the deck as you do this. How can you accomplish this seemingly impossible task?
Take the first 13 cards off the top of the deck and flip them over. This is the first pile. The second pile is just the remaining 39 cards as they started. This works because if there are N face-up cards in within the first 13 cards, then there will be (13 - N) face up cards in the remaining 39 cards. When you flip those first 13 cards, N of which are face-up, there will now be N cards face-down, and therefore (13 - N) cards face-up, which, as stated, is the same number of face-up cards in the second pile.
82.91 %
64 votes
logicmath

What is the smallest number, that can be expressed as the sum of the cubes of two different sets of numbers?
Hardy-Ramanujan discovered 1729 as a magic number. Why 1729 is a magic number? 10^3 + 9^3 = 1729 and 12^3 + 1^3 = 1729 Taxicab number Ta(2)
82.51 %
55 votes
logicmath

There are 1 million closed school lockers in a row, labeled 1 through 1,000,000. You first go through and flip every locker open. Then you go through and flip every other locker (locker 2, 4, 6, etc...). When you're done, all the even-numbered lockers are closed. You then go through and flip every third locker (3, 6, 9, etc...). "Flipping" mean you open it if it's closed, and close it if it's open. For example, as you go through this time, you close locker 3 (because it was still open after the previous run through), but you open locker 6, since you had closed it in the previous run through. Then you go through and flip every fourth locker (4, 8, 12, etc...), then every fifth locker (5, 10, 15, etc...), then every sixth locker (6, 12, 18, etc...) and so on. At the end, you're going through and flipping every 999,998th locker (which is just locker 999,998), then every 999,999th locker (which is just locker 999,999), and finally, every 1,000,000th locker (which is just locker 1,000,000). At the end of this, is locker 1,000,000 open or closed?
Locker 1,000,000 will be open. If you think about it, the number of times that each locker is flipped is equal to the number of factors it has. For example, locker 12 has factors 1, 2, 3, 4, 6, and 12, and will thus be flipped 6 times (it will end be flipped when you flip every one, every 2nd, every 3rd, every 4th, every 6th, and every 12th locker). It will end up closed, since flipping an even number of times will return it to its starting position. You can see that if a locker number has an even number of factors, it will end up closed. If it has an odd number of factors, it will end up open. As it turns out, the only types of numbers that have an odd number of factors are squares. This is because factors come in pairs, and for squares, one of those pairs is the square root, which is duplicated and thus doesn't count twice as a factor. For example, 12's factors are 1 x 12, 2 x 6, and 3 x 4 (6 total factors). On the other hand, 16's factors are 1 x 16, 2 x 8, and 4 x 4 (5 total factors). So lockers 1, 4, 9, 16, 25, etc... will all be open. Since 1,000,000 is a square number (1000 x 1000), it will be open as well.
82.39 %
62 votes
logicmathclever

You can easily "tile" an 8x8 chessboard with 32 2x1 tiles, meaning that you can place these 32 tiles on the board and cover every square. But if you take away two opposite corners from the chessboard, it becomes impossible to tile this new 62-square board. Can you explain why tiling this board isn't possible?
Color in the chessboard, alternating with red and blue tiles. Then color all of your tiles half red and half blue. Whenever you place a tile down, you can always make it so that the red part of the tile is on a red square and the blue part of the tile is on the blue square. Since you'll need to place 31 tiles on the board (to cover the 62 squares), you would have to be able to cover 31 red squares and 31 blue squares. But when you took away the two corners, you can see that you are taking away two red spaces, leaving 30 red squares and 32 blue squares. There is no way to cover 30 red squares and 32 blue squares with the 31 tiles, since these tiles can only cover 31 red squares and 31 blue squares, and thus, tiling this board is not possible.
82.20 %
54 votes
logicmath

You have been given the task of transporting 3,000 apples 1,000 miles from Appleland to Bananaville. Your truck can carry 1,000 apples at a time. Every time you travel a mile towards Bananaville you must pay a tax of 1 apple but you pay nothing when going in the other direction (towards Appleland). What is highest number of apples you can get to Bananaville?
833 apples. Step one: First you want to make 3 trips of 1,000 apples 333 miles. You will be left with 2,001 apples and 667 miles to go. Step two: Next you want to take 2 trips of 1,000 apples 500 miles. You will be left with 1,000 apples and 167 miles to go (you have to leave an apple behind). Step three: Finally, you travel the last 167 miles with one load of 1,000 apples and are left with 833 apples in Bananaville.
82.12 %
61 votes
logicmath

Think of a number. Double it. Add ten. Half it. Take away the number you started with. What is your number?
Your number is 5.
81.65 %
45 votes
logicmath

A farmer lived in a small village. He had three sons. One day he gave $100 dollars to his sons and told them to go to market. The three sons should buy 100 animals for $100 dollars. In the market there were chickens, hens and goats. Cost of a goat is $10, cost of a hen is $5 and cost of a chicken is $0.50. There should be at least one animal from each group. The farmer’s sons should spend all the money on buying animals. There should be 100 animals, not a single animal more or less! What do the sons buy?
They purchased 100 animals for 100 dollars. $10 spent to purchase 1 goat. $45 spent to purchase 9 hens. $45 spent to purchase 90 chickens.
81.65 %
45 votes
logicmath

Two words are anagrams if and only if they contain the exact same letters with the exact same frequency (for example, "name" and "mean" are anagrams, but "red" and "deer" are not). Given two strings S1 and S2, which each only contain the lowercase letters a through z, write a program to determine if S1 and S2 are anagrams. The program must have a running time of O(n + m), where n and m are the lengths of S1 and S2, respectively, and it must have O(1) (constant) space usage.
First create an array A of length 26, representing the counts of each letter of the alphabet, with each value initialized to 0. Iterate through each character in S1 and add 1 to the corresponding entry in A. Once this iteration is complete, A will contain the counts for the letters in S1. Then, iterate through each character in S2, and subtract 1 from each corresponding entry in A. Now, if the each entry in A is 0, then S1 and S2 are anagrams; otherwise, S1 and S2 aren't anagrams. Here is pseudocode for the procedure that was described: def areAnagrams(S1, S2) A = new Array(26) A.initializeValues(0) for each character in S1 arrayIndex = mapCharacterToNumber(character) //maps "a" to 0, "b" to 1, "c" to 2, etc... A[arrayIndex] += 1 end for each character in S2 arrayIndex = mapCharacterToNumber(character) A[arrayIndex] -= 1 end for (i = 0; i < 26; i++) if A[i] != 0 return false end end return true end
81.65 %
45 votes