題目描述:
100 個燈泡排成一排,第一輪將所有燈泡開啟; 第二輪每隔乙個燈泡關掉乙個,即排在 偶數的燈泡被關掉, 第三輪每隔兩個燈泡,將開著的燈泡關掉,關掉的燈泡開啟 。 依次類推, 第 100 輪結束的時候,還有幾盞燈泡亮著 ?
分析與解答:
(l)對於每盞燈, 當拉動的次數是奇數時,燈就是亮著的, 當拉動的次數是偶數時,燈 就是關著的 。
(2)每盞燈拉動的次數與它的編號所含約數的個數有關,它的編號有幾個約數,這盞燈就被拉動幾次。
(3) 1~10。這 100個數中有哪幾個數,約數的個數是奇數?我們知道, 乙個數的約數都是成對出現的,只有完全平方數約數的個數才是奇數個。 所以,這 100盞燈中有 10盞燈是亮著的,它們的編號分別是: 1、 4、 9、 16、 25、 36、 64 、 81 、 100 。
**:
def factorisodd(a):
total=0
i=1while i<=a:
if a%i==0:
total+=1
i+=1
if total%2==1:
return 1
else:
return 0
def totalcount(num,n):
count=0
i=0while iif factorisodd(num[i])==1:
print('亮著的燈的編號是:'+str(num[i]))
count+=1
i+=1
return count
if __name__=='__main__':
num=[none]*100
i=0while i<100:
num[i]=i+1
i+=1
count=totalcount(num,100)
print('最後一共有'+str(count)+"個燈")
輸出:
亮著的燈的編號是:1
亮著的燈的編號是:4
亮著的燈的編號是:9
亮著的燈的編號是:16
亮著的燈的編號是:25
亮著的燈的編號是:36
亮著的燈的編號是:49
亮著的燈的編號是:64
亮著的燈的編號是:81
亮著的燈的編號是:100
最後一共有10個燈
」如何判斷還有幾盞燈泡亮著「(python)
題目描述 100個燈泡排成一排,第一輪將所有燈泡開啟 第二輪每隔個乙個燈泡關掉乙個,既排在偶數的燈泡被關掉,第三輪每隔兩個燈泡,將開著的燈泡關掉,關掉的燈泡開啟,以此類推,第100輪結束的時候,還有幾盞燈泡亮著。分析與解答 1.對於每盞燈,當拉動的次數是奇數時,燈就是亮著的,當拉動的次數是偶數時,燈...
如何判斷THIS指向?
什麼是this?this是用來做什麼的?這是首先我們必須知道的 this它是js的乙個關鍵字,用來指向某乙個物件 如何判斷this指向?函式 方法 內 一種以函式的方式呼叫 不帶.this指向window 一種以方法的形式呼叫 函式名前面帶.this指向點前面的 函式 方法 外,this指向wind...
如何判斷素數
為乙個不太懂程式設計的菜姬師姐解釋如何判斷素數。題目 計算大於10000查起的第五個素數 原話,語句有歧義吧 include include int flag int x 自定義判斷乙個數是不是素數的函式 return 1 走完前面的語句都沒有找到除1之外的因子數 int main if cnt 5...