Data update
This commit is contained in:
parent
0df55f9f24
commit
aec8ed51b6
1045 changed files with 18889 additions and 2777 deletions
21
Task/Additive-primes/Miranda/additive-primes.miranda
Normal file
21
Task/Additive-primes/Miranda/additive-primes.miranda
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
main :: [sys_message]
|
||||
main = [Stdout (table 5 10 nums), Stdout countmsg]
|
||||
where nums = filter additive_prime [1..500]
|
||||
countmsg = "Found " ++ show (#nums) ++ " additive primes < 500\n"
|
||||
|
||||
table :: num->num->[num]->[char]
|
||||
table w c ls = lay [concat (map (rjustify w . show) l) | l <- split c ls]
|
||||
|
||||
split :: num->[*]->[[*]]
|
||||
split n ls = [ls], if #ls < n
|
||||
= take n ls:split n (drop n ls), otherwise
|
||||
|
||||
additive_prime :: num->bool
|
||||
additive_prime n = prime (dsum n) & prime n
|
||||
|
||||
dsum :: num->num
|
||||
dsum n = n, if n<10
|
||||
= n mod 10 + dsum (n div 10), otherwise
|
||||
|
||||
prime :: num->bool
|
||||
prime n = n>=2 & #[d | d<-[2..entier (sqrt n)]; n mod d=0] = 0
|
||||
Loading…
Add table
Add a link
Reference in a new issue