#26186: 請問這題python AC的人可以提供程式碼嗎


andy.lin61013@gmail.com (我是你爸)

學校 : 國立清華大學
編號 : 158445
來源 : [118.166.40.151]
最後登入時間 :
2022-08-02 21:19:43
a121. 質數又來囉 | From: [114.45.202.101] | 發表日期 : 2021-07-21 16:24

每次都超時,不知道該怎麼簡短

def num(x):
    list1=[]
    a=1
    while True:
        if x%a==0:
            list1.append(a)
            a+=1
            if a-1==x:
                break
        elif x%a!=0:
            a+=1
    if list1==[1, x]:
        return True
    else:
        return False


try:
    while True:
        a,b=input().split(' ')
        a=int(a)
        b=int(b)
        list2=[]
        while True:
            if num(a)==True:
                list2.append(a)
                a+=1
                if a-1==b:
                    break

            elif num(a)==False:
                a+=1
                if a-1==b:
                    break
        list2=list(map(str,list2))
        print(len(list2))
except EOFError:
    pass
 
ZeroJudge Forum