Mon devoir est de trouver les "nombres d'émirs" (paires de nombres premiers comme 13 ⇆ 31) jusqu'à 10.000. Je peux inverser les chiffres en utilisant [::-1]
, mais je dois le faire avec %
à la place.Inverser les chiffres d'un nombre en utilisant la division modulaire
Voici mon code. Cela fonctionne, mais comment puis-je inverser les chiffres en utilisant %
au lieu de [::-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);
Je viens de commencer à apprendre Python (et programmation) il y a 1 mois.
Bienvenue dans StackOverflow! Vous avez plus de chances d'obtenir des résultats utiles si vous utilisez la ponctuation/majuscule dans votre question. À l'heure actuelle, il est beaucoup plus difficile d'analyser votre question que d'analyser votre code. –
Et où est votre vraie question? – Julien
StackOverflow n'est pas un site d'aide aux devoirs. Veuillez lire la page [how to ask] (http://stackoverflow.com/help/how-to-ask) pour apprendre à écrire une bonne question! – Nanos