數論 - UVA 10110 - Light, more light
UVa 10110 - Light, more light
問題
學校有一個工友他負責開關走廊中的電燈泡。每個燈泡有他自己的開關。也就是說你按下某個燈泡的開關,燈泡就亮了。下一次你再按這個開關,這個燈泡就熄了。這個工友有個古怪的習慣,假如走廊有n個燈泡(編號從1到n),他會來回走上n趟。在第 i 趟開始走過去的時候,他會開關燈泡編號可以除盡 i 的燈泡,在回來的時候不做任何事。
現在你的任務就是要算出在走完n趟之後,最後一個電燈泡(編號n)是亮著的還是暗著的。假設剛開始時所有的電燈都是暗著的。
* 中文翻譯:Lucky 貓
Input
問題
學校有一個工友他負責開關走廊中的電燈泡。每個燈泡有他自己的開關。也就是說你按下某個燈泡的開關,燈泡就亮了。下一次你再按這個開關,這個燈泡就熄了。這個工友有個古怪的習慣,假如走廊有n個燈泡(編號從1到n),他會來回走上n趟。在第 i 趟開始走過去的時候,他會開關燈泡編號可以除盡 i 的燈泡,在回來的時候不做任何事。
現在你的任務就是要算出在走完n趟之後,最後一個電燈泡(編號n)是亮著的還是暗著的。假設剛開始時所有的電燈都是暗著的。
* 中文翻譯:Lucky 貓
Input
每個測試資料一行,包含一個整數n( n <= 232-1),代表走廊共有多少個燈泡。n=0代表輸入結束。
Output
如果最後一個燈泡是亮著的請輸出yes,如果是暗著的請輸出no。見Sample Output
Sample Input
3 4 6241 8191 0
Sample Output
no
yes
yes
no
解法
github
看因數個數, 奇數個會亮, 偶數個會是暗的.
因數可以變成成對整數相乘,
平方數會有一個是同一個整數乘積, 所以是奇數.
其他非平方數有偶數個因數.
留言
張貼留言