1364 開燈與關燈(深入思考問題更妙哦 )

2021-09-25 05:32:57 字數 1028 閱讀 9519

1364: 開燈與關燈

時間限制: 1 sec 記憶體限制: 128 mb

[提交][狀態][討論版]

題目描述

有乙個叫做mabu的人在大學的走廊裡面反覆開燈和關燈。每個燈泡都有各自的開關,如果燈是關著的,那麼按開關後就會開燈,再按一次則會將其關上。最初的時候所有燈都是關上的。

mabu做了一件很奇特的事情:如果走廊裡有n個燈泡,他就在走廊裡來回走n次。在他走第i次的時候,只按動可以被i整除的位置(位置編號1到n)上的開關。在他走到走廊盡頭,然後走回初始位置時,不會按動任何開關。你的任務是確定最後乙個燈泡的最終狀態。它是開著的,還是關著的?

輸入輸入每一行將給出乙個走廊裡的電燈總數n(n<=2^32-1)。n=0表示輸入結束,你的程式不應處理這一行。

輸出如果燈炮開著,輸出「yes」;如果是關著,輸出「no」。每個資料在單獨的一行輸出。

樣例輸入

3

6241

8191

0

簡單題:

1.直接統計n的因子個數。

2.想深入點,根據數學特性,因為只要知道n因子個數的奇偶性也可以不統計。

n = x^2一定是奇數個因子~

ac_code:

直接統計:

#include

using namespace std;

typedef

long

long ll;

intmain()

}if(res &

1) cout<<

"yes"

"no"

<}return0;

}

想深入點,可以節省**量,看起來更巧妙!!

#include

using namespace std;

intmain()

return0;

}

思考問題的方法

1.極限法 今天看到hash表,說要讓hash表上的鍊錶分布的均勻才是好的hash函式.當時就在想為啥要分散均勻呢?靈光一閃,如果所有鍊錶都在乙個雜湊值下的,那麼資料查詢起來不就又回到了o n 了嗎?那使用hash表的意義就不存在了.因為hash表在沒有衝突時的時間複雜度是o 1 2.多去模擬 比如...

像「電腦」那樣思考問題?!

軟體開發人員經常需要接觸使用者,得到使用者的需求。在這個過程中,事實就是乙個 翻譯 的過程 使用者從他的工作的角度出發,需要電腦來為他輔助處理哪些事情,而技術人員需要從電腦可以實現的角度來設計這些過程或者功能。因而軟體技術人員需要用採用像電腦那樣來思考使用者的問題。我在接觸使用者的過程中,經常遇到很...

Excel思考問題的方式

好比如,現在咱們需要將第一周 第二週 第三週 第四周 等e e列裡的 每一周的 第二個數值 提取出來。那麼我們手動提取了幾個。如果生產一百多周那不是要累死?現在咱們先找到部分 我們需要的資料,先建立乙個小的模型 然後再往大的上面套 我們將每一周的第二個數值,所在第幾行 提出來。那麼我們就要取e e列...