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

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/=10
return sum
def main():
i=1000001
a=[]
k=0
while True:
if len(a)==2:
break
if isPrime(i):
if isPrime(sumA(i)):
a.append(str(i))
i=i+1
print(a[0]+a[1])

if __name__ == '__main__':
main()
最新回答
传说甜蜜的味道

2024-10-17 06:33:48

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()