document.write('
(1)对于每盏灯,当拉动的次数是奇数时,灯就是亮着的,当拉动的次数是偶数时,灯就是关着的。
    (2)每盏灯拉动的次数与它的编号所含约数的个数有关,它的编号有几个约数,这盏灯就被拉动几次。
    (3)1~100这100个数中有哪几个数,约数的个数是奇数?
    我们知道,一个数的约数都是成对出现的,只有完全平方数约数的个数才是奇数个。
    所以,这100盏灯中有10盏灯是亮着的,它们的编号分别是:1、4、9、16、25、36、49、64、81、100。
    下面是程序的实现:
    def factorIsOdd(a):
    total=0
    i=1
    while 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=0
    while i<n:
    #∥判断因子数是否为奇数, 如果是奇数(灯亮), 那么加1
    if factorIsOdd(num[i])==1:
    print "亮着的灯的编号是:"+str(num[i])
    count+=1
    i+=1
    return count
    
 
    if __name__=="__main__":
    num=[None]*100
    i=0
    while 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盏灯亮着。 

');