我的作业是找到最多 10,000 的“emirp 数”(质数对,如 13 ⇆ 31)。我可以使用 反转数字[::-1]
,但我必须%
改为使用它。
这是我的代码。它有效,但我怎样才能使用%
而不是反转数字[::-1]
?
counter=0;
prime_counter=0;
emirp_counter=0;
for N in range(13,9968):
i=2;
controlq=1;
while i < N/2+1 and controlq==1:
counter+=1;
if N % i == 0:
controlq=0;
i+=1;
if controlq==1:
x=int(str(N)[::-1]); # Here's the problem.
a=2;
controlw=1
while a < x/2+1 and controlw==1:
emirp_counter+=1
if x % a == 0:
controlw=0;
a+=1
if controlw==1 and (N!=x):
prime_counter+=1;
print(N,'<-- is an emirp number -->',x,);
print('TOTAL PRIME NUMBERS', prime_counter);
print('TOTAL PROCESS', emirp_counter+counter);
1 个月前我刚开始学习 Python(和编程)。