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 is the difference between an OS(operating system) and Framework?
What is the Difference between in memory database and physical database
Please forward important interview and basic questions in VB6 on my email id: usneha_16@yahoo.co.in
differenc between visual studio 2005,2008 & 2010?
hi friends please tel me how to handle the recovery manager(All i.e PopUp ,Application Crach ,Object state,etc) in QTP
what do u mean by tagging
Define Abstract method & class with Example
In staad pro, how can we design ROOF SLAB?
what are the activities you enjoy most and How do you see these Developing in the Future with Reference to in your work life and in your personal life
Code for display the images from drive using vb 6.0?
when we use mantis? how learn mantis?
A good website has the following conditions It should be interactive. It should contain at least 20 images. Title cannot be null and should contain at least 10 letters other than spaces and hyphen (-). The keywords should contain atleast three among the following list : "design", "Graphics", "lovely", "beautiful", "amazing" and "mesmerising" Write a method: boolean isGoodWebsite(boolean isInteractive, int numOfImages, String title,String keywords[]) isInteractive whether the site is interactive or not numOfImages Number of images on the website title Title of the website keywords Array of keywords in the website.