日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(数学)灯泡亮灭问题

發布時間:2024/10/12 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (数学)灯泡亮灭问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目:

現在有10000個電燈,假設有10000個人經過這些電燈,當第1個人經過時,拉一下所有的燈,當第2個人經過時,拉一下所有2的倍數的燈,就這樣,當第i個人經過時,就拉一下所有i的倍數的燈。假設所有燈的初始狀態都是滅,那么當10000個人經過之后,還有多少燈是亮著的?

思路:

我們以10個燈泡,10個人為例,拉一下表示1,不拉表示0,橫軸表示燈,豎軸表示人,因此可以得到以下的矩陣:

1 1 1 1 1 1 1 1 1 1

0 1 0 1 0 1 0 1 0 1

0 0 1 0 0 1 0 0 1 0

0 0 0 1 0 0 0 1 0 0

0 0 0 0 1 0 0 0 0 1

0 0 0 0 0 1 0 0 0 0

0 0 0 0 0 0 1 0 0 0

0 0 0 0 0 0 0 1 0 0

0 0 0 0 0 0 0 0 1 0

0 0 0 0 0 0 0 0 0 1

可以看出,最后亮燈的就是1,4,9,因為它們被拉了奇數次。一種通用的方法就是將上述矩陣所有列進行異或操作,如果為1則亮,為0則滅。

那么亮燈的數字有什么規律嗎?如上面的1,4,9....,好像很容易猜到是某個數的完全平方,為什么呢?我們來驗證一下:

上面提到了,亮燈的是被拉了奇數次,而完全平方數的分解因子(即約數)一定為奇數個。下面通過歸納法來驗證一下。

假設完全平方數為N,N=1*A^2,它的約數個數為奇數個;

假設A為質數,那么N的約數為1,A,N三個,為奇數;

假設A為完全平方數,那么N的約數為1,A,N,加上A的約數減去1和自身A,依舊為就奇數;

假設A為非完全平方數,那么N可以表示為A=B*C,這一步暫時不知怎么證明,但結果就是奇數;

總之,只有完全平方數,其約數個數為奇數,就是亮燈的情況。

因此,10000剛好為100的完全平方,因此有100盞燈亮著。

也可以通過代碼來驗證一下(很簡單,通過兩個循環就可以實現,這里就不貼代碼了)

轉載于:https://www.cnblogs.com/AndyJee/p/4966186.html

總結

以上是生活随笔為你收集整理的(数学)灯泡亮灭问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。