反素数是指一个数将其逆向拼写后也是素数的非回文数。例如,17和71都是素数,也都不是回文数。编写程序显示前100个反素数。每行显示10个数字,并且准确对齐。要求:使用函数实现反素数的判断。
1条回答 默认 最新
- chuifengde 2021-11-15 17:36关注
def isPrime(n): for i in range(2, int(n **0.5) + 1): if n % i == 0: return False return True def loop(n): return str(n) == str(n)[::-1] ii = 10 cou =0 s = set() result = [] while True: ii += 1 ix = int(str(ii)[::-1]) if isPrime(ii) and isPrime(ix) and ix not in s and not loop(ii): cou += 1 s.add(ii) s.add(ix) result.append((ii, ix)) if cou == 100:break ii = 0 for i,k in enumerate(result): print (str(k).rjust(14), end='') if (i + 1) % 10 == 0:print()
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用 3