Project Euler 37

来源:互联网 发布:软件线报分享 编辑:程序博客网 时间:2024/06/06 03:31

这几题为毛线都是prime……

嗯……这题也不难,直接数出来素数,枚举……


def sss(n):a = [1 for i in range(n)]a[0], a[1], a[2] = 0, 0, 1pl = []t = s = 0for i in range(2,n):if a[i]:s+=ipl.append(i)j=i*it+=1while j<n:a[j]=0j+=ireturn pl, adef main():prime, f = sss(1000000)#print(prime)sum = 0for i in prime:x = i;t = 1while x>0:if not f[x]:t = 0breakx //= 10if t:x = ilength = len(str(x))while length>=0:if not f[x]:t = 0breakx %= 10**lengthlength -= 1if t:print(i)sum += iprint(sum)if __name__ == '__main__':main()

着实要注意的就是 x /= 10 和 x //= 10的区别……前者这是在产生小数,后者则是整除,像c里面一样。


看了一下效果……我的代码真单薄……

原创粉丝点击