Project Euler 35

来源:互联网 发布:mac系统重装u盘 编辑:程序博客网 时间:2024/05/22 04:19

本来是,用C用多了,看到python就感到微微头疼……

不知道为啥……可能是build_in function太多了?


但是考试考python啊!

所以这题用python写了……

其实用C写不会难的……


首先……读错题了……简直是大错特错……

本题是要求不断地shift,看看是否都是prime


我第一次看成了,要reverse,这个错了……

第二次看成了,要全排列……也错了……

擦……


原来是shift,那么我下面的代码就二逼了……


算了……反正做出来了……这个代码写的也不是太难看(因为我修改过了……)


def shift(shift_prime):l = shift_prime[1:]l.append(shift_prime[0])return ldef 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():count = 0prim, f = sss(1000000)for i in prim:shift_prime = list(str(i));t = 0for k in range(7):shift_prime = shift(shift_prime)new_prime = int("".join(shift_prime))if not f[new_prime]:t = 1breakif not t:count += 1;print(count)if __name__ == '__main__':main()