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


1234567weewee457@gmail.com (weewee4571234567)

學校 : 桃園市私立復旦高級中學
編號 : 92174
來源 : [114.43.44.160]
最後登入時間 :
2024-02-06 11:14:33
e284. 放暑假了!!!!! -- π | From: [59.102.206.88] | 發表日期 : 2021-08-03 16:00

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
e284. 放暑假了!!!!! -- π | From: [1.174.77.251] | 發表日期 : 2021-08-03 23:48

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
來源 : [114.43.44.160]
最後登入時間 :
2024-02-06 11:14:33
e284. 放暑假了!!!!! -- π | From: [118.166.78.25] | 發表日期 : 2021-08-04 23:10

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本來就不適合跑速度的

 
ZeroJudge Forum