python解释下这个代码 就是素数方面的谢谢

发布网友

我来回答

1个回答

热心网友

def isPrime(n): #判断是否素数    
    for i in range(2,n):
        if i*i <= n:
            if n%i == 0:
                return False
        return True

def sumA(n):  #计算一个数的各位数字之和
#return n-((n-1)/9*9)
    sum=0
    while(n>0):
        sum+=n%10
        n=int(n/10) #在python3.x后的里要加个int转换成整数,不然会出错.    
    return sum
def main():
    i=1000001
    a=[]
    k=0
    while True:
        if len(a)==2:  #列表长度超过2退循环
            break
        if isPrime(i):  #是素数
            if isPrime(sumA(i)): #且该数各数字之和仍是素数
                a.append(str(i))  #放入列表中保存              
        i=i+1
    print(a[0],a[1]) #输出列表第1,2项

if __name__ == '__main__':
    main()

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com