Sexy primes: Difference between revisions
Content added Content deleted
m (Simplified Prolog code) |
m (Simplified Prolog code again) |
||
Line 1,471: | Line 1,471: | ||
last_n(List, Max, Length, Last, Last_len). |
last_n(List, Max, Length, Last, Last_len). |
||
unsexy(P):- |
|||
is_prime(P), |
|||
P1 is P + 6, |
P1 is P + 6, |
||
\+is_prime(P1), |
\+is_prime(P1), |
||
P2 is P - 6, |
P2 is P - 6, |
||
\+is_prime(P2). |
\+is_prime(P2). |
||
unsexy_primes(Limit, [2|P]):- |
|||
unsexy_primes(3, Limit, P). |
|||
unsexy_primes(From, To, []):- |
|||
From > To, |
|||
!. |
|||
unsexy_primes(From, To, [From|Rest]):- |
|||
unsexy_prime(From), |
|||
!, |
|||
Next is From + 2, |
|||
unsexy_primes(Next, To, Rest). |
|||
unsexy_primes(From, To, Rest):- |
|||
Next is From + 2, |
|||
unsexy_primes(Next, To, Rest). |
|||
main(Limit):- |
main(Limit):- |
||
Line 1,500: | Line 1,484: | ||
print_sexy_prime_groups(4, Limit), |
print_sexy_prime_groups(4, Limit), |
||
print_sexy_prime_groups(5, Limit), |
print_sexy_prime_groups(5, Limit), |
||
findall(P, (is_prime(P), P =< Limit, unsexy(P)), Unsexy), |
|||
length(Unsexy, Count), |
length(Unsexy, Count), |
||
writef('Number of unsexy primes is %t\n', [Count]), |
writef('Number of unsexy primes is %t\n', [Count]), |