将自然数区间[10-1000]中所有绝对素数挑选出来,每行打印输出5个。绝对素数是:一个数和其反序数都是素数,例如13和31都是素数,所以13是绝对素数。
1条回答 默认 最新
chuifengde 2022-01-03 19:37关注def Prime(START, END): data = [1] * END data[:2] = [0, 0] for idx in range(int(END ** 0.5) + 1): if idx > 1: if data[idx] == 1: for idy, _ in enumerate(data): if idy > idx and idy % idx == 0: data[idy] = 0 resu = [idx for idx, v in enumerate(data) if END + 1 > idx > START - 1 and v == 1] return resu res = Prime(10, 1000) ress = [i for i in res if int(str(i)[::-1]) in res] ii = 0 for i in ress: if ii % 5 == 0: print() print(f'{i:>3}', end = ' ') ii += 1 '''--result 11 13 17 31 37 71 73 79 97 101 107 113 131 149 151 157 167 179 181 191 199 311 313 337 347 353 359 373 383 389 701 709 727 733 739 743 751 757 761 769 787 797 907 919 929 937 941 953 967 971 983 991 '''本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用