-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathluke8.py
executable file
·35 lines (24 loc) · 1.09 KB
/
luke8.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Luke 8
# Vi definerer et primtall som et MIRPTALL dersom vi fortsatt har er
# primtall når sifrene reverseres. Regelen gjelder imidlertid ikke
# dersom tallet samtidig er et palindrom (dvs likt samme hvilken ende
# det leses fra, som 969).
# Eksempel 1: 13 er et primtall. Det er også et MIRPTALL, fordi tallet
# i revers, 31, også er et primtall.
# Eksempel 2: 23 er et primtall. Det er imidlertid ikke et MIRPTALL,
# da vi får 32 om vi reverserer det, som ikke er et primtall.
# Eksempel 3: 5 og 101 er ikke MIRPTALL, selv om de er primtall, da
# disse er palindromer.
# Hvor mange positive heltall under 1000 er MIRPTALL?
# Tips: Selv om 13 og 31 reverseres til hverandre er de fortsatt
# MIRPTALL “hver for seg” (på grunn av definisjonen). Begge må derfor
# telles med som en del av resultatet.
def prime(n):
return all(n % i != 0 for i in range(2, int(n**0.5)+1))
def reverse(n):
return int(str(n)[::-1])
def palindrome(n):
return n == reverse(n)
print sum(prime(i) and prime(reverse(i)) and not palindrome(i) for i in range(1, 1000))