top button
Flag Notify
    Connect to us
      Facebook Login
      Site Registration Why to Join

    Get Free Puzzle Updates

Facebook Login
Site Registration

100 people standing in a circle in an order 1 to 100....Which number survives at the last?

+2 votes

100 people standing in a circle in an order 1 to 100.
No.1 person has a sword.
He kills next person (i.e. No. 2 )and gives sword to next to next (i.e no.3).
All person does the same until only 1 survives.
Which number survives at the last?

posted Sep 3, 2014 by anonymous

Share this puzzle
Facebook Share Button Twitter Share Button Google+ Share Button LinkedIn Share Button Multiple Social Share Button

9 Answers

+2 votes

Answering on Behalf of Chaturbhuj Kuntal

73 is the answer....

As long as the number is power of 2, the person survived will always be the one who starts. If the number is not power of 2, find the greatest power of 2 which is less than the number i.e. 64 now if 100-64=36 people are killed, the one who will start after that would be the one who will survive.
36 people will be killed as 2,4,6, .... ,72 and the sword will be handed over to 73 who is the first person to start in remaining 64. thus only 73 will survive.

answer Sep 4, 2014 by Salil Agrawal
+2 votes

Answer is 73.The formula to find the no. that will survive in a list (of numbers) is as below:
If the total count of the list is in exponents of 2, then it’s the 1st no. will survive.
If the total count is not an exponent of 2, then subtract the total count from the next exponent of 2. If you call the result as ‘x’, then the number that survives is the xth number of the list counted backwards.

answer Sep 8, 2014 by Daman Malhotra
O thanku very much ur solution really worked in my head!!
Still hasn't got answer. i am not that good in mathematics could you help me on this
+1 vote

1,3,5,7,9,11,13,15,17;19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63,65,67,69,71,73,75,77,79,81,83,85,87,89,91,93,95,97,99(got sword, passed to 1)
den 1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61,65,69,73,77,81,85,89,93,97(sword passed to again)
den 1,9,17,25,33,41,49,57,65,73,81,89,97(sword passed to 9)
9,25,41,57,73,89(sword passed to 9 again) den
9,41,73(sword passed to 9 again)
den 9,73(73got sword & killed d 9)
soo answer s "73"
ACN ans....73....

answer Sep 9, 2014 by anonymous
Soldiers are standing in a circle.
That means in second round 99 will kill 1instead of passing knife from 99 to 1.
I ended with 31 with the above logic.
Numbers are from 1 to 100 not 1 to 99.
Wrong as it said it goes circle in circle so continuous loop it is, therefore 99 doesn't passes it to 1 instead it kills 1.

And the answer comes out to be 29
ya so 99 kills 1 and passes it to 3 kills 5 and passes it to 7 and so solving in similar way..i get the ans as 3!
99 kills 1 and passes it to 3 kills 5 and passes it to 7 and so d solution is 3!
There are 100 people not 99
They killed the evens.
Thanks man!!
According to ur logic in 3rd step y u passed the sword to 9 instead of giving to 1
+1 vote

The answer is 73.

$numbers = range(1,100);    //define an array with 100 elements starting from 1 to 100
$round = 1;         //define a variable to keep note of how many rounds are required to get the answer (this is optional)
$temp = 1;          //Just a Boolean variable to remove alternate element

//As removing elements from array will be repetitive task we define a function which will remove elements.
function remove_elements(){
    global $numbers, $round, $temp; //Use the variables inside function by defining them global
    foreach($numbers as $key=>$value){   //iterate the loop for each element of an array
        if($temp == 0) {
            unset($numbers[$key]); //remove alternate element
            $temp = 1;
        else {
            $temp =0;
    echo "Round $round: ".implode(', ',$numbers)."<br>";    //print the round number and elements remained after removing elements in that round
    $round++;       //increase the round number for each iteration
    if(count($numbers) != 1){
        remove_elements();      //we are calling remove_elements function recursively until we are left with only one element in our array
remove_elements(); //Call the function

Output of this program would be as below:

Round 1: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99
Round 2: 1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45, 49, 53, 57, 61, 65, 69, 73, 77, 81, 85, 89, 93, 97
Round 3: 1, 9, 17, 25, 33, 41, 49, 57, 65, 73, 81, 89, 97
Round 4: 9, 25, 41, 57, 73, 89
Round 5: 9, 41, 73
Round 6: 9, 73
Round 7: 73

Check out the detailed description on blog to solve it using programming.

answer Sep 15, 2014 by anonymous
if it can be solved in constant time ...running a loop will be foolish
There are multiple ways to do it with programming. I have used a simple method using loops to give example.
0 votes

73 is the answer, the people kill in sequence of 2,4,8,16,32

answer Sep 4, 2014 by anonymous
0 votes

Daman Malhotra and Salil Agrawal has given good answers; i'm just trying to complete what they said.
It's purely binary. Try your methods (pls everyone try their own methods; don't try to imitate sb else) on the following variants of it:

1) There were 109 mad men standing in a circle. Suddenly, the 1st man took a knife, killed the man on his right (ie, 2nd man) and passed the knife to the next (ie, 3rd man). The 3rd man did the same. This went on until only 3 were left. Then just like the pattern, one man (say Bob) killed the man on his right and passed the knife to other man. But when the other man tried to kill him, he(Bob) got angry, managed to snatch the knife from the other man and killed him too. What was Bob's position?

2) Roughly 150 mad men standing in a circle performs the same 'ritual'. At last only 79th man survived. Exactly how many were there when they stated?

If you have solved these try the last one I have to offer:

*3) There were 61 mad men standing in a circle. Suddenly, the 1st man took a knife, killed the man on his right (ie, 2nd man) and passed the knife to the next (ie, 3rd man). The 3rd man did the same. This went on for one cycle after which the man with the knife in his hand killed the man on his left and passed the knife to the next man on his left. This went on for that cycle. Like this, quite a number of cycles were done each cycle changing direction at the start of the cycle? After all, all one survived. What was the survivor's position?

(a clarification on 3rd question - this means, each mad man upon getting the knife first time kills and passes knife to the right and when he gets the knife a second time kills and passes the knife to the left. If we gets it a 3rd time, he will go for right again. For 4th time, left and so on.)

answer Jan 28, 2016 by anonymous
Please post a fresh question so that people can try it :)
0 votes

enter image description here

Solved programmatically. Answer : 73

answer Feb 3, 2016 by Rajdeep Anand
0 votes

We can solve this puzzle be recursive and non recursive Think just greater then the number exact power of 2 from n.after then-

survive number=1-2^x+2n

Ex- If there is 100 person and no.1 has a sword then
survive no.=1–2^7+2(100)

Ex- If there is 1000 person and no.1 has a sword then

survive no.=1–2^10+2(1000)


if no.2 has a swoed then

survive no=2–2^10+2(1000)


answer Jun 5, 2016 by Rakesh Kumar
–1 vote


Counting numbers by skipping one (killed by sword) the last numbers that comes is 41

answer Sep 3, 2014 by Kunal Shah
No.. 9 kills 41 and hands sword to 73.. 73 kills 9

Similar Puzzles
+1 vote

Is it possible to write down 1,2,3..100 in some order (one after an other), such that the sum of any two adjacent numbers is a prime number?

0 votes

In an assessment the first 17 people scored an average of three points each. After a further 30 people had taken the assessment the average score rose to nine points each. What was the average number of points scored by the last 30 people only?

+1 vote

Six friends A, B, C, D, E and F are standing in a circle. B is between D and C, A is between E and C & F is to the right of D. Who is standing between A and F?

Contact Us
+91 9880187415
#280, 3rd floor, 5th Main
6th Sector, HSR Layout
Karnataka INDIA.