είναι όλοι πρώτοι αριθμοί και ανήκουν στην κατηγορία των κυκλικών πρώτων αριθμών. Το σύνολο των κυκλικών πρώτων είναι υποσύνολο των αντιμεταθετικών πρώτων. Σε αυτούς κάθε πιθανή διάταξη των στοιχείων τους είναι πρώτος.
Μπορείς να προσπαθήσεις να βρεις τέτοιους αριθμούς. Για να δεις αν ένας αριθμός είναι πρώτος μπορείς να το δεις με το κόσκινο του Ερατοσθένη, ή απλά να χρησιμοποιήσεις μια λίστα που θα κατεβάσεις από το internet.
Ένα ερώτημα που σκέφτηκα ακούγοντας για αυτούς τους αριθμούς, είναι πως δεν είναι κάποια βασική ιδιότητα του αριθμού μιας και εξαρτάται από την αριθμητική βάση. Υπάρχει άραγε ένας αριθμός που να έχει την ιδιότητα και στο δεκαδικό και στο δεκαεξαδικό σύστημα αρίθμησης.
Μια πρόχειρη λύση όπου το πρόγραμμα βρίσκει τους πρώτους αριθμούς και χρησιμοποιεί την λίστα αυτή για να βρει τους πρώτους κυκλικούς αριθμούς που υπάρχουν σε αυτήν. Υλοποίηση σε Python (μπορεί να γίνει και πιο συμμαζεμένο) :
#!/usr/bin/env python
def prime(n):
i=10
result=[2,3,5,7]
total=[]
final_list=[]
check=0
while(i<=n):
if i%2!=0:
if i%3!=0:
if i%5!=0:
if i%7!=0:
result.append(i)
i+=1
i=0
for item in result:
for i in range(len(result)-1):
if result[i]<item:
if item in result:
if item%result[i]==0:
result.remove(item)
else:
continue
print("Oi prwtoi arithmoi mexri to",n,"einai : \n",result)
for item in result:
number=[]
item_string=str(item)
for x in range(len(str(item))):
cyclic_string = item_string[x:]+item_string[:x]
cyclic=int(cyclic_string)
#print(cyclic)
number.append(cyclic)
total.append(number)
for number in total:
number.sort()
if number not in final_list:
final_list.append(number)
print("Oi prwtoi kyklikoi arithmoi einai : ")
for number in final_list:
for item in number:
if item in result:
check+=1
if check==len(number):
print(number)
check=0
else:
check=0
n=int(input("Dwse mexri poion arithmo : "))
prime(n)