Weighing balls

Share this page

Note that you're allowed to put more than one ball in each pan.

Suppose you are given eight balls and you know that one ball is slightly heavier than all the others, which are of equal weight. You're also given a balancing scale with which you can compare the weight of balls by putting some in one pan and some in the other. What's the minimum number of weighings you need to establish which ball is the heavier one?


Its two. But you could have 9 balls. Divide the balls in 3 groups of 3 balls. You compare the weight 2 of the groups. Now you known the group where the heavy ball is. You pick two balls from this group and compare them, you now know wich ball is heavier.

Harder. You have 9 balls and one has a different weight, with three weighings you can get which ball is the different ball.


With 3 weighings you can find one ball out of a total of 12 balls that are all of the same weight except one, and in addition determining whether the odd one is lighter or heavier than the other 11.

Similarly with 4 weighings you can solve the problem with 38 balls, 5 weighings for 118 balls, etc. More generally one can deduce a formula for the number f(n) of balls for n weighings, where n is any positive integer.

Permalink In reply to by Fred Wu (not verified)

up to 3^1 (2..3) balls : 1 measure
up to 3^2 (4..9) balls : 2 measures (start with up to 3x3 groups)
up to 3^3 (10..27) balls : 3 measures (start with up to 3x9 groups)
up to 3^x balls : x measures (start with up to 3x3^(x-1)) groups


First weighing as above. Keep the three groups intact. Whether or not the scale balanced, weigh the unweighed group against a group already weighed. Now you know which group has the different ball and whether it is heavier or lighter. Third weighing as above.


If you divide the ball in 3 groups , how are you going to weigh 3 groups against each other ?
Lets say you get lucky and get it in first group then how are you going to compare the weight of other two ?
I guess you would need minimum 3 times to measure it , right ?
Let me know as I am just a high schooler and would like to know know more about this topic .
Thanking you,
Alex Ross


I think 3 weightings at most, possibly 2.

1. 4 balls on the left-hand side of the scale, 4 on the right, to determine which group of 4 has the heavier ball.
2. Of those 4 which we know has the heavier ball, divide 2/2 between right/left sides of the scale to find which has the heavier.
3. Repeat with 1/1 to find which is heaviest.

I'm hoping there's a more clever way where in step 2 you could put 1 on the left and 2 on the right to finagle the heavier ball out of 3 segments (1 left, 2 right, 1 not weighed), but I can't think of it.


Minimum number of weighings...
It's one. Weigh one ball on each side. If you're trying to do this in the smallest number possible, we'll, you weigh the two, one is heavier and you're done. It's only got a 25% chance of working but it's the still the minimum.


so i got 2 weighings at most.
1. Put 3 balls on one end and 3 on the other. the last 2 are left on the table.
2. If one group of 3 is heavier than the other, then you can outweigh 5 balls since the second group of 3 and the group of 2 are all the same weight. If the groups of 3 are equal in weight, then you know that one of the 2 balls in the unweighed group is heavier.
3. Put 2 balls on the scale (if one of the groups of 3 in part 2 was heavier, then put 2 of those balls on the scale, and leave one on the table again).
4. On the scale, pick the one that's heavier than the other. If, for the group of three, the balls are the same weight, then you know that the ball not on the scale will be heavier.

thanks for reading :>


Should be 2. Divide into groups of 3/3/2. Weigh 3 against 3. If equal, take the 2 and weigh one against the other to find heavier ball (2 weighings total). If not equal, pick the heavier group of 3 - weigh 1 against 1 and leave the other ball to one side. If equal, heavy ball is 1 not on scales. If not equal, you have found the heavier ball (2 weighings total)


Alright...8 balls....1 scale. 8 plus 1....47!!!

I think the answer is one. But I'm skeptical because it seemed to easy of an answer.


This is an oft used puzzle where the N of balls changes or you're asked to find the lighter or heavier ball.

In this case, the "easy" answer is 3 weighings. You're guaranteed to find it with 8 balls. 4v4. Then 2v2. Then 1v1.

But you can actually do it in 2 weighings. You do 3v3 and leave 2 balls unweighed.

If side a is heavier, weigh 2 of the balls. If the scale balances the third ball is heavier. If it doesn't balance the heavier side contains the heavier ball.

Same if side b is heavier.

If the scale balances then just weigh the two remaining balls against each other.


It's a divide and conquer one. I liked the one here below, with a little twist.

You have 9 balls. 8 of them weigh the same, but one of them weighs heavier than the other 8.

How can we find the heaviest weighted ball in no more than 2 operations?


weigh 3v3 and leave 3, if one side weigh 2 of the 3 against each other if they weigh the same the third one is heavier if one side is heavier that one is the heavier ball. if they weigh the same do the same process you would do for if you had one side being except you would do it for the ones you didn't weigh.


I want it to be three, winnowing down from four balls on each side, to two, to one.

But there is no requirement to weigh all the balls at once, so if you only weigh two on each side, you have a 50% chance of being able to find the heaviest ball in only two weighings and 50% chance of finding it in three.

So by further application, you have a one in four chance of finding the heaviest ball with only one weighing, and a maximum of four, by placing only one ball on each side at a time. Thus the minimum turns out to be one.


My solution is two weighings.
1. 3 balls in each pan.
2. If the first weighing balances then weigh the remaing two. If they don't balance then weigh any two from the heavier pan. If they balance then it is the other ball that is the heaviest.


3 v3 with 2 aside.
This will confirm which group the odd ball is in. Once confirmed balance 2 more from that group, which will show directly or indirectly which the odd ball out is.
So 2 Weighings


The minimum number of weighings in two. In the first one, three balls are put on both sides of the balancing scale. If one side is heavier, two of the three balls are weight (one one each side). If none of these balls is heavier the ball of the three that was not weight is the heavier one. If in the first weigh both sides have equal weight the two remaining balls are weight and the heavier one is found.


Can be done in two:

Four balls in each pan will show which group has the heavy ball. Split this group between the two pans (two in each). Note which pan (left or right) is low and thus contains the heavy ball. Take one ball from the left pan with your left hand and one from the right with your right hand.

If the scales are even then the heavy ball is in the hand where the ball was taken from the lower pan. Otherwise...

Permalink In reply to by Will (not verified)

You actually weighed 3 times. 4v4, 2v2, 1v1


This continues on the comment I submitted yesterday on the ball weighing problem.

Using a balance n times, one can find out one ball out of f(n) balls that are all of the same weight except one, and also determine whether it is heavier or lighter. The formula is

f(n) = (3^n - 1)/2 - n + 2

We have f(3) = 12, f(4) = 38, f(5) = 118, f(6) = 360, etc.

The solution for the n problem is to leave f(n -1) balls untouched, divide the rest into 2 piles and put one pile to each side of the balance.

If the balance balances, then the odd ball is in the untouched f(n - 1) balls and the problem reduces to the one of f(n-1) balls.

If the balance does not balance, then move 3^(n-1) balls out from one side, move the same number of balls from the other side to replace the moved-out ones, and move the same number from the untouched pile to replace these ones. Now one of three things can happen:

1. If the scale now balances, then the odd ball is among the 3^(n-1) ones and we know whether it is heavier or lighter. Then we can find it out in n-2 tries (see below).

2. If the scale tips to change, then the oddball is among the 3^(n-1) moved across the scale and we can again find it out in n-2 tries.

3. If the scale remains the same and does not tip, then the oddball is among the unmoved ones. Then we repeat the above process by further moving f(n-2) balls.

The solution relies on the fact that if one knows the oddball is heavier or lighter, then one can find it in 1 try for 3 balls, in 2 tries for 3^2=9 balls, etc. and in n-2 tries in 3^(n-1) balls as asserted in the above.

Thus for 12 balls in 3 tries we place 4 on each side to begin. If scale
balances, then compare 3 of the remaining 4 with 3 of the known good ones. If scale unbalances, then move 3 across the scale and replace the moved 3 by 3 of the known good ones. Watch the scale and the rest is easy.

For 38 balls, place 13 on each side, etc.


It is two for sure. You just have to divide the given balls into groups of three, three and two balls. Try it out, it you will find out.


3 at the most
1) but 4 on each side and one out , if they are equal , then which out will be the grater
2) if not , we take the greater group side and but 2 ball on each side
3) then takes the greater side and but each one on each side and decided

Permalink In reply to by ahmad8980

I found an approach to this on another website. Instead of thinking up complex strategies, make a code for each ball which will reveal if it is the one you are looking for.

So... suppose just two weighings are needed. If ball 1, say, is in the left hand pan for the first weighing and the right hand pan for the second weighing: code it LR. Then if you see the left pan fall, then the right, you know the heavy one is ball 1... unless another ball has the same code!

You can also leave a ball out of one or both of the weighings. Denote this x.

You need to make different codes for all the balls. But you also need to make sure that there are equal numbers on each side in both the weighings.

Here are codes that fulfil these requirements:

1. Lx
2. Rx
3. xL
4. xR
5. LR
6. RL
7. LL
8. RR

To spell it out: the first weighing is (left pan) 1,5,7 versus (right pan) 2,6,8. The second weighing is (left pan) 3,6,7 versus (right pan) 4,5,8


2 at most.
Split the balls into 3 groups, 3:3:2
Weigh the 2 groups of 3 against each other, if it is even then you know the heaviest ball is in the group of 2. Therefore you can just weigh the 2 against each other to give you the heaviest one.
If when you weigh the two groups of 3 against each other and one is heavier than the other, you know which group he heavier ball is in. Now split the heavier group of 3 into individual balls and weigh 2 against each other. Is they are even, the 3rd ball is the heavier, if it is uneven, you will be able to see which is heavier


Its 2.
divide it into groups of 3, 3 and 2.
Weighing 1.
weigh the 3 and 3 groups against each other.
(i) if they are equal , the heavier ball is in the group of 2.
(ii) if one side is heavier, the heavier ball is in the heavier group of 3

Weighing 2.
if its (1) above,.take the remaining two to know which is the heaviest.
if its (ii) above,take two balls and weigh agaisnt each other, if neither is heaviesr, the third ball is the heavier one; if one of them is heavier, its the heavier ball and problem solved.


A scale can only yield an answer whether the left or right sides are heavier. I would use the divide and conquer binary strategy. My answer would be 3 attempts. First attempt: Put four on the left and four on the right. Which ever side weight the most I would keep these 4 balls and discard the other 4 balls. Now I would take group of 4 heavier balls and divide them into two groups of two for the second weighing. Now I would get a second result of which group was heaviest. Then on the third attempt I would have on two balls so I would place one on the left and one on the right. Which ever one tipped the scale would the heaviest ball of the starting 8.


split the 8 balls into three groups, two with 3, one with 2
weigh the groups of 3, if the scale is balanced, weigh the other group to find the heavy ball
if the scale is unbalanced, weigh two balls from the heavier group
if its unequal, you've found the heavy ball,
if it's equal, the third is the heavy ball


You have 8 balls. You can fit more than one in each pan so start with 4 on each side. This weight 1. You will see one side weighs more. Remove the 4 lessor balls. Now divide the pan into 2 balls on each side. This is weight 2. Again, one side will weigh more. Remove the 2 balls and divide the last 2 balls onto each side. This is weight 3, which will generate your answer to which ball is heavier.


I said 3 in my last comment but technically the minimum number of weighings could be just 1 if you can feel which ball is heavier and test it against another, also generating your answer. I am the type to judge based on how it feels first.


Randomly took two three-ball groups, G1 and G2 and weigh them.
(1) If G1 = G2 then the heavy ball is in the remaining 2 balls, with one more weighing you can find the heavy ball.
(2) If G1 is not equal to G3 then take the heavier three-ball group and take randomly two balls B1 and B2 from this group and weigh them. If B1=B2 then the remaining ball in this group is the heavy ball. Otherwise, the heavier ball is the ball we look for.
In both cases ((1) and (2)) we can find the heavy ball in only two weighings .