blob: 642eb64ee1ce6b13b9d876d7c3c5076dde968886 (
plain) (
blame)
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
36
|
group =: {{
'low high' =. p:^:_1]10^y-1 0
p:low}.i.high
}}
patterns =: {{
I.(#~x=+/"1)#:i.2^y
}}
modified =: {{
(x patterns #y) {{10#.(i.10)(x})"0 1 y}}"1 y
}}
familysize =: {{
x {{
>./+/"1(1&p:*.(10^_1+#y)&<:)x modified y
}}"0 1] 10#.^:_1 y
}}
hasfamily =: {{
primes =. group y
sizes =. (1+i.y) familysize"0 1 primes
{.primes{~/:~(#~0<]),I.x<:sizes
}}
smallest =: {{
digits =. 10&#.^:_1]y
min =. 10^_1+#digits
groupsize =. 1+{.I.x=(1+i.#digits) familysize y
mods =. groupsize modified digits
{.(#~min&<:),mods#~x=+/"1(1&p:*.min&<:)mods
}}
find =: [ smallest hasfamily
problem51 =: 8 find 6 NB. I know it is a 6 digit number :D
|