There is a room with 1000 light switches, numbered 1, 2, 3,
4, ... 1000, all turned off.
Outside the room there are 1000 men, numbered man1, man2,
...man 1000
In order, each man walks into the room and changes the
position of each switch that is a multiple of his number.
That is: man1 flips every switch
man2 flips switches 2, 4, 6, 8 ....1000
man3 flips switches 3, 6, 9, ..... 999
.....
Man 1000 flips switch 1000
After all 1000 men are done, how many switches are on?
Answers were Sorted based on User's Feedback
Answer / rams
The answer is 31. All the perfect squares are on. ie 1,4,9,16,25,36....961(31*31).
Here is the logic.
The first person switches on every thing.
The multiple factors come in pairs, so the changes done by multiple factors has no effect. So all the Switches are on.
The switches are turned off by the person with same number.
The square root switches on the lights for the perfect squares.
| Is This Answer Correct ? | 9 Yes | 0 No |
Answer / orenise
The above code does not work, Please ignore it. I will Post
the answer, when i got the correct Code.
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / orenise
The answer is 31. here is the code...
private static void Q1() {
int firstMan = 1;
int lastMan = 1000;
int numOfSwitches = 1000;
boolean[] switches = new boolean[numOfSwitches + 1];
// Print the switches initial state.
System.out.println("switches");
int col = 0;
for (int j = 0; j < switches.length; j++) {
System.out.print("[" + switches[j] + "], ");
if (col >= 10) {
System.out.println();
col = 0;
}
col++;
}
for (int currentMan = firstMan; currentMan <= lastMan;
currentMan++) {
for (int switchNum = currentMan; switchNum <=
lastMan; switchNum++) {
int divids = switchNum % currentMan;
if (divids == 0) {
switches[switchNum] = !switches[switchNum];
}
}
}
// Print the switches final state.
System.out.println("switches");
int col2 = 0, sum = 0;
for (int j = 0; j < switches.length; j++) {
System.out.print("[" + switches[j] + "], ");
if (switches[j]) {
sum++;
}
if (col2 >= 10) {
System.out.println();
col2 = 0;
}
col2++;
}
System.out.println(" sum = " + sum);
}
| Is This Answer Correct ? | 3 Yes | 2 No |
what are the 3 forms of a prolog term
what are partial classes. Where is the entry point of partial classes.
will it allow to add same value in HashMap class.
hi viewers, tell me,what is scripting and programming, define and difference...pls
what will be the model paper for the post of assistant programmer in delhi high court
Explain polymorphism. Provide an example.
Which of the following are Java modifiers?
THE CHANNEL IN DATA COMMUNICATION CAN BE?
Hi can you please help for the following. I have a ASP.Net web page I want to print the whole page how is it possible? I want It in ASP also.Please send me the solutions dipankar.hazari@gmail.com . Thanks in advance.
what is the draw back of Power builder
Diff between Proc transpose and Arrays with example?
It is possible to take number of controls added to form at run-time.ex-when user enter 6, 6 text boxes get added to form,next time number of controls get change as per user number enter. What is code for that?