屋子裡有1到100號100盞關閉的燈

2021-09-06 19:14:37 字數 739 閱讀 7857

屋子裡有1到100號100盞關閉的燈,門外有1到100號100個人,每個人都要進屋一次,把與自己序號對應的和是自己序號倍數的燈繩拉一下,(比如1號要拉所有的燈繩,2號要拉2,4,6的燈繩,而100號只需拉100號燈繩)問:當100人都出來後,屋子裡亮著的燈有幾盞?

這麼說呢,大家都知道答案是 平方數 1,4,9...100

ok,首先要想到肯定是拉燈拉了奇數次的才能是開啟的。。。

想想如果編號為n,那麼肯定是前面拉過n的i必定能整除n,所以肯定i是n的因數。。。

所以題目轉換為求n,n的因數的個數是奇數。

1、只有平方數的因數是奇數,因為比如n = a*b,其中a和b不同的話,都是成對的,只有當a*a的時候,才只有乙個因數,所以肯定是平方數。。。

2、來個高階大氣的證明:

由唯一分解定理:p是素數,對應的a是p的指數,然後又唯一分解: 就是:

那麼n的因數個數為多少呢?就是:s = (a1+1)*(a2+2)*...*(an+1),組合數學了,取出0個、1個、an個的pn來構成。

問題轉為使得因數的個數 s 為奇數。。。這裡就好想了嘛,肯定只能 奇數*奇數 = 奇數 ,所以,ai+1都是奇數,所以ai都是偶數。

既然所有的ai都是偶數,那麼對於來說,不就可以把所有的ai提乙個2出來麼n = (p1^(a1/2) * p2^(a2/2) *...* pn^(an/2) )^2 ,那麼n就是乙個完全平方數啦~~~

證明完畢!

1到100的序數詞

第1 first 第2 second 第3 third 第4 fourth 第5 fifth 第6 sixth 第7 seventh 第8 eighth 第9 ninth 第10 tenth 第11 eleventh 第12 twelfth 第13 thirteenth 第14 fourteenth...

PL SQL實現1到100素數判斷

其實pl sql中的迴圈和分支結構的 實現邏輯與其他的程式語言是差不多的,學會了其中的乙個就能夠很容易上手另外乙個 pl sql有四個組成部分,declare begin exception end 注意有分號 然後比較簡單的乙個例項,1 100素數判斷,並輸出所有的素數 declare ret n...

Shell編寫,1到100的和。

在編譯器中開啟 如上圖。步驟 開啟虛擬機器的終端,輸入vim hello.sh hello你的檔名,隨意起 然後回車。摁i進入標記模式,將 複製進去,或者敲進去。摁esc,輸入 wq!回車。輸入chmod x hello.sh 你需要給你的檔案許可權,hello檔名,和你上面一樣。執行指令碼。輸入....