Login

Welcome, Guest. Please login or register.

July 19, 2025, 02:14:38 am

Author Topic: Good riddle!  (Read 875 times)  Share 

0 Members and 1 Guest are viewing this topic.

jmosh002

  • Guest
Good riddle!
« on: April 14, 2012, 03:01:00 pm »
+2
Hey guys,

Here is a good riddle.
There are 12 pool toys. 11 of them are the same weight , and the other 1 pool toy can be heavier or lighter than the other 11.
You are given 3 attempts on a balanced weight scale to try and find that one particular pool toy.

this has got me stuck for ages, i can only get it in 4, or 3 if the pool toy is only either heavier or lighter.

Just a bit of fun.
« Last Edit: April 14, 2012, 03:05:03 pm by jmosh002 »

mystikal

  • Victorian
  • Forum Leader
  • ****
  • Posts: 814
  • Respect: +5
Re: Good riddle!
« Reply #1 on: April 14, 2012, 09:52:33 pm »
0
is there an online simulation to this... coz  i dont have 11 identical toys at home haha. And i cant think of a way mentally what the results of each attempt would be, since my decisions on what to do next would be based on the prior result.

edit: o wait i get it now, i drew on a piece of paper lols and just mapped out the outcomes, pretty tricky problem.
« Last Edit: April 14, 2012, 09:56:33 pm by mystikal »

Stick

  • Victorian
  • ATAR Notes Legend
  • *******
  • Posts: 3774
  • Sticky. :P
  • Respect: +467
Re: Good riddle!
« Reply #2 on: April 14, 2012, 09:57:15 pm »
0
I must have worked it out the same as you - I can do it in 4 moves, or three if we know the object is either heavier or lighter.
2017-2020: Doctor of Medicine - The University of Melbourne
2014-2016: Bachelor of Biomedicine - The University of Melbourne

dilks

  • Victorian
  • Forum Obsessive
  • ***
  • Posts: 274
  • Respect: +35
Re: Good riddle!
« Reply #3 on: April 14, 2012, 10:11:43 pm »
0
Can't we just keep splitting them in half? Haven't actually tried it on paper, but it makes sense in my head.
Edit: Ok too many steps.
English (49) Software Development (44) Psychology (43) IT Applications (40) Methods (35) Physics (34) ATAR: 97.15 Course: Master of Engineering (Software) Also providing English tuition. Students in the North Eastern suburbs especially convenient as I live in Ivanhoe. Interested in giving tuition to students studying Computing.

jmosh002

  • Guest
Re: Good riddle!
« Reply #4 on: April 15, 2012, 06:35:33 pm »
0
What i did was i split them in half, so the first weighing will be 3 on one side and three on the other. If they both weigh the same (and the two sides of the scale stay the same) we know the pool toy must be in the other 6. Therefore, we have cut them down to 6 and the next weighing will be 3 of those six (that we have not cut out yet) and another 3 dummies (that we know the particular pool toy isn't in). If they both weigh the same (and the two sides of the scale stay the same) we know the pool toy must be in the other 3. Therefore the next move i did, was i put 1 pool toy (one of the 3 that have not been cut out yet) on one side, and another dummie (one of the 9) on the other side. If the scale moves then we know that the real pool toy that we had not cut out yet, is the pool toy we have been looking for. However, if they are still balanced, then we have 2 pool toys left and not sure which is which. But if the question asked told us that it is only heavier than the rest, of the 3 remaining pool toys still left, 1 would go one side of the scale, another would go on the other side and the last one would go out. If it remained the same, the one that went out would be the pool toy, however if it moved the pool toy that was below the other on the scale would be the pool toy that we were looking for.

This is what i'm up to, it is driving me crazy.
Anyone got any suggestions??

Russ

  • Honorary Moderator
  • Great Wonder of ATAR Notes
  • *******
  • Posts: 8442
  • Respect: +661
Re: Good riddle!
« Reply #5 on: April 15, 2012, 07:10:48 pm »
0
Old question, there's a really cool mathematical answer underpinning it.

Anyway, your problem is that you're not eliminating enough options with your measurements, try weighing 4 against 4 to start with.

dilks

  • Victorian
  • Forum Obsessive
  • ***
  • Posts: 274
  • Respect: +35
Re: Good riddle!
« Reply #6 on: June 16, 2012, 02:40:11 pm »
+1
Ok I've solved it :o. I wrote it in Python, so I will rewrite it in English later.
P.S: Yes I know I could have cut down on my code by using a subroutine.

def solve(toys):
    comp1 = 0
    comp2 = 0
    for j in [0, 1, 2]:
        comp1 += toys[j]
    for j in [3, 4, 5]:
        comp2 += toys[j]
    comp1 /= float(3)
    comp2 /= float(3)
    if comp1 != comp2:
        comp3 = 0
        comp4 = 0
        for j in [0, 1]:
            comp3 += toys[j]
        for j in [4, 5]:
            comp4 += toys[j]
        comp3 /= float(2)
        comp4 /= float(2)
        if comp1 > comp2 and comp3 > comp4:
            if toys[0] > toys[1]:
                return "0"
            else:
                return "1"
        elif comp1 < comp2 and comp3 < comp4:
            if toys[0] < toys[1]:
                return "0"
            else:
                return "1"
        elif comp1 > comp2 and comp3 < comp4:
            if toys[4] > toys[5]:
                return "4"
            else:
                return "5"
        elif comp1 < comp2 and comp3 > comp4:
            if toys[4] < toys[5]:
                return "4"
            else:
                return "5"
        elif comp1 > comp2:
            if toys[2] < toys[3]:
                return "2"
            else:
                return "3"
        else:
            if toys[2] > toys[3]:
                return "2"
            else:
                return "3"
    else:
        comp3 = 0
        comp4 = 0
        for j in [6, 7]:
            comp3 += toys[j]
        for j in [10, 11]:
            comp4 += toys[j]
        comp3 /= float(2)
        comp4 /= float(2)
        if comp3 == comp4:
            if toys[8] != comp1:
                return "8"
            else:
                return "9"
        elif comp3 != comp1:
            if toys[6] != comp1:
                return "6"
            else:
                return "7"
        else:
            if toys[10] != comp1:
                return "10"
            else:
                return "11"
« Last Edit: June 17, 2012, 01:25:43 pm by dilks »
English (49) Software Development (44) Psychology (43) IT Applications (40) Methods (35) Physics (34) ATAR: 97.15 Course: Master of Engineering (Software) Also providing English tuition. Students in the North Eastern suburbs especially convenient as I live in Ivanhoe. Interested in giving tuition to students studying Computing.