Bulb Switcher Leetcode Solution:



There are n bulbs that are initially off. You first turn on all the bulbs, then you turn off every second bulb.

On the third round, you toggle every third bulb (turning on if it's off or turning off if it's on). For the ith round, you toggle every i bulb. For the nth round, you only toggle the last bulb.
Return the number of bulbs that are on after n rounds.

Example 1:

Input: n = 3
Output: 1
Explanation: At first, the three bulbs are [off, off, off].
After the first round, the three bulbs are [on, on, on].
After the second round, the three bulbs are [on, off, on].
After the third round, the three bulbs are [on, off, off].
So you should return 1 because there is only one bulb is on.

Example 2:
Input: n = 0
Output: 0

Example 3:
Input: n = 1
Output: 1

 
Constraints:
0 <= n <= 109


factor of 6: 1,2,3,6
factor of 7: 1,7
factor of 9: 1,3,9

so all numbers have an even number of factors except square numbers (e.g: factor of 9:1,3,9).
the square number must turn on because of an odd number of factors(9: turn on at 1st, off at 3rd, on at 9th) other numbers must turn off(6: turn on at 1st, off at 2nd, on at 3rd, off at 6th)
so we only need to compute the number of square numbers less equal than n.

public class Solution {
    public int bulbSwitch(int n) {
        return (int)Math.sqrt(n);
    }
}


*******Thanks For Visiting*********