#26362: Python 如果不用建表,是不是一定超時?


1234567weewee457@gmail.com (weewee4571234567)

學校 : 桃園市私立復旦高級中學
編號 : 92174
來源 : [111.71.213.222]
最後登入時間 :
2025-02-06 19:01:18

def check(m):

    if m<=0:

        return 0

    while m!=1:

        if m%2!=0:

            return 0

        m /= 2

    return 1

 

while 1:

    try:

        a=int(input())

        if check(a):

            print("Yes")

        else:

            print("No")

    except EOFError:

        break

 

#26378: Re:Python 如果不用建表,是不是一定超時?


406490150@gms.tku.edu.tw (我是朱朱)

學校 : 國立交通大學
編號 : 139794
來源 : [140.113.236.122]
最後登入時間 :
2022-09-03 11:13:16

def check(m):

    if m<=0:

        return 0

    while m!=1:

        if m%2!=0:

            return 0

        m /= 2

    return 1

 

while 1:

    try:

        a=int(input())

        if check(a):

            print("Yes")

        else:

            print("No")

    except EOFError:

        break

 


我覺得你說的沒錯,如果從str轉int應該就要很花時間,所以應該還是要用 a in set() 類似這種O(1)查表才可以吧?

#26402: Re:Python 如果不用建表,是不是一定超時?


1234567weewee457@gmail.com (weewee4571234567)

學校 : 桃園市私立復旦高級中學
編號 : 92174
來源 : [111.71.213.222]
最後登入時間 :
2025-02-06 19:01:18

def check(m):

    if m<=0:

        return 0

    while m!=1:

        if m%2!=0:

            return 0

        m /= 2

    return 1

 

while 1:

    try:

        a=int(input())

        if check(a):

            print("Yes")

        else:

            print("No")

    except EOFError:

        break

 


我覺得你說的沒錯,如果從str轉int應該就要很花時間,所以應該還是要用 a in set() 類似這種O(1)查表才可以吧?


好吧,反正python本來就不適合跑速度的