James S Saint wrote:There were two objections being discussed.

1) Is it necessarily true that you must be able to see your own color on someone else?

2) Having proposed a possible means for solving the puzzle, can it be proven that it is impossible to solve the exact same puzzle arrangement by any other means?

I quickly dispatched (1) merely by showing that a known or famous color chart would allow a person to guess at his color without ever seeing it on anyone else.

Objection (2) is the one that I propose makes the puzzle invalid. You propose a particular means to solve the puzzle. Now prove that no other means could ever be proposed that would also solve the same puzzle arrangement. Without being able to prove that no other means could ever exist, the proposed solution cannot be used and thus does not actually solve the puzzle. For example, perhaps there is a different color chart of which you were not aware that implies a different missing color or perhaps merely a more sophisticated math model would imply a different one of the colors that you do see.

You did not quickly dispatched 1 because the problem does not give you a chart. It doesn't state "consider a group of colors (blue, green, yellow, orange, red)". This information is not present, there is no color chart as a given in the problem premise. When the problem starts you don't have a closed group of colors to work with. Part 1 of the problem is constraining all possible colors down to a group.

As to 2, it is evident that there is no other way to solve this puzzle. Assuming that the group of colors consists only of colors that you can see is necessary because otherwise you do not have a constrained group.

Once you have a group, you can write an algorithm:

- Code: Select all
`for (bell = 1; bell>numberOfLogicians; bell++) {`

for(numberOfColor = 1; numberOfColor>bell; numberOfColor++){

if (numberOfColor == bell){

System.out.println("logicians who can see this numberOfColor have to get up and leave");

//TODO: write a method for making logicians leave.

}

}

}

(numberOfLogiciansWearingHeadbandOfTheSameColorThatALogicianCanSee would be the correct name, but to make it readable I called it numberOfColor)