Best hard riddles

logicclever

Justin Case and Auntie Bellum are fellow con artists who deliver coded messages to each other to communicate. Recently Auntie Bellum was put in jail for stealing a rare and expensive diamond. Only a few days after this, Justin Case sent her a friendly letter asking her how she was. On the inside of the envelope of the letter, he hid a code. Yesterday, Auntie Bellum escaped and left the envelope and the letter inside the jail cell. The police did some research and found the code on the inside of the envelope, but they haven't been able to crack it. Could you help the police find out what the message is? This is the code: llwatchawtfeclocklnisksundialcirbetimersool
The message was "loose bricks in left wall." The message was put backward with words related to time in between. This is how the message looks when separated: ll watch awtfe clock Inisk sundial cirbe timer sool If you take out watch, clock, sundial, and timer, this is what is left: llawtfelniskcirbesool Look at this backwards and this is what you have: loose bricks in left wall Auntie Bellum took out the bricks and escaped in the night. Then, she put the bricks back where they were.
82.80 %
56 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

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
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.
81.57 %
52 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.
81.30 %
65 votes
1234
MORE RIDDLES >
Page 1 of 27.