It would be possible, on the one hand, to generate arrays of numbers for a kangaroo in this way ,but not the fact that the kangaroo will be able to quickly work with arrays (probably by the counter step by step it is easier).
and what space to choose and how much it will require ram or space on hdd...
If only I had an inkling to what you are trying to do...I can run kangaroo step by step; jump any number, 1 to to 2^256 with no impact on RAM. But I am lost when it comes to all your numbers. I know they seem common to you, but not the common person.
I myself am in the process of thinking, throwing ideas on, maybe someone will add something ...
For example pz 30568377312064202855
we decomposed it (number composition
https://en.wikipedia.org/wiki/Composition_(combinatorics))
3+0, 5+6, 8+3, 7+7, 3+1, 2+0, 6+4, 2+0, 2+8, 5+5
[3, 11, 11, 14, 4, 2, 10, 2, 10, 10]
their multiplication, the number of steps
[3x11x11x14x4x2x10x2x10x10] 81312000 [4x8x8x5x5x3x9x3x9x9] 41990400
a1= [(0, 3), (
3, 0), (1, 2), (2, 1)]
a2= [(0, 11), (11, 0), (1, 10), (2, 9), (3,
, (4, 7), (
5, 6), (6, 5), (7, 4), (8, 3), (9, 2), (10, 1)]
a3= [(0, 11), (11, 0), (1, 10), (2, 9), (3,
, (4, 7), (5, 6), (6, 5), (7, 4), (
8, 3), (9, 2), (10, 1)]
a4= [(0, 14), (14, 0), (1, 13), (2, 12), (3, 11), (4, 10), (5, 9), (6,
, (
7, 7), (8, 6), (9, 5), (10, 4), (11, 3), (12, 2), (13, 1)]
a5= [(0, 4), (4, 0), (1, 3), (2, 2), (
3, 1)]
a6= [(0, 2), (
2, 0), (1, 1)]
a7= [(0, 10), (10, 0), (1, 9), (2,
, (3, 7), (4, 6), (5, 5), (
6, 4), (7, 3), (8, 2), (9, 1)]
a8= [(0, 2), (
2, 0), (1, 1)]
a9= [(0, 10), (10, 0), (1, 9), (
2, 8), (3, 7), (4, 6), (5, 5), (6, 4), (7, 3), (8, 2), (9, 1)]
a10=[(0, 10), (10, 0), (1, 9), (2,
, (3, 7), (4, 6), (
5, 5), (6, 4), (7, 3), (8, 2), (9, 1)]
after discarding the excess (there may be problems with converting back, but this is not important yet)
a1= [(0, 3), (3, 0), (1, 2), (2, 1)]
a2= [(2, 9), (3,
, (4, 7), (5, 6), (6, 5), (7, 4), (8, 3), (9, 2)]
a3= [(2, 9), (3,
, (4, 7), (5, 6), (6, 5), (7, 4), (8, 3), (9, 2)]
a4= [(5, 9), (6,
, (7, 7), (8, 6), (9, 5)]
a5= [(0, 4), (4, 0), (1, 3), (2, 2), (3, 1)]
a6= [(0, 2), (2, 0), (1, 1)]
a7= [(1, 9), (2,
, (3, 7), (4, 6), (5, 5), (6, 4), (7, 3), (8, 2), (9, 1)]
a8= [(0, 2), (2, 0), (1, 1)]
a9= [(1, 9), (2,
, (3, 7), (4, 6), (5, 5), (6, 4), (7, 3), (8, 2), (9, 1)]
a10=[(1, 9), (2,
, (3, 7), (4, 6), (5, 5), (6, 4), (7, 3), (8, 2), (9, 1)]
running them sequentially step by step we got 41990400 steps (20 lenght numbers).
but we, as if, do not know what we are looking for specifically
so we start to mix them up and go through a new one, now the number you are looking for will start with 29, 38, 47, 56, 65, 74 etc...
a1= [(2, 9), (3,
, (4, 7), (5, 6), (6, 5), (7, 4), (8, 3), (9, 2)] [(0, 3), (3, 0), (1, 2), (2, 1)]
a2= [(0, 3), (3, 0), (1, 2), (2, 1)]
a3= [(2, 9), (3,
, (4, 7), (5, 6), (6, 5), (7, 4), (8, 3), (9, 2)]
a4= [(5, 9), (6,
, (7, 7), (8, 6), (9, 5)]
a5= [(0, 4), (4, 0), (1, 3), (2, 2), (3, 1)]
a6= [(0, 2), (2, 0), (1, 1)]
a7= [(1, 9), (2,
, (3, 7), (4, 6), (5, 5), (6, 4), (7, 3), (8, 2), (9, 1)]
a8= [(0, 2), (2, 0), (1, 1)]
a9= [(1, 9), (2,
, (3, 7), (4, 6), (5, 5), (6, 4), (7, 3), (8, 2), (9, 1)]
a10=[(1, 9), (2,
, (3, 7), (4, 6), (5, 5), (6, 4), (7, 3), (8, 2), (9, 1)]
and so here
[3, 11, 11, 14, 4, 2, 10, 2, 10, 10]81312000 [4, 8, 8, 5, 5, 3, 9, 3, 9, 9] 41990400 x (75600 fixed) 3174474240000 numbers.
For other sets of equal 41990400 (which can be a wagon and a cart with manure
)
[5, 10, 9, 4, 3, 6, 9, 3, 6, 8] 41990400 x (453600 konm fixed) 19046845440000 numbers
[6, 10, 8, 2, 9, 6, 3, 6, 5, 9] 41990400 x (302400 konm fixed) 12697896960000 numbers
these numbers need to run through the kangaroo, but how much space will they take in memory or hdd...
Therefore, we need to consider how it can be optimized.
for example we can restrict selection, so that we will create arrays only that start with the numbers we need
a1= [(0, 3), (3, 0), (1, 2), (2, 1)] <= here we only need (3, 0)
a2= [(2, 9), (3,
, (4, 7), (5, 6), (6, 5), (7, 4), (8, 3), (9, 2)] <= if it comes first (to a1 place) we don't need (8, 3), (9, 2) etc...
a3= [(2, 9), (3,
, (4, 7), (5, 6), (6, 5), (7, 4), (8, 3), (9, 2)]
a4= [(5, 9), (6,
, (7, 7), (8, 6), (9, 5)]
a5= [(0, 4), (4, 0), (1, 3), (2, 2), (3, 1)]
a6= [(0, 2), (2, 0), (1, 1)]
a7= [(1, 9), (2,
, (3, 7), (4, 6), (5, 5), (6, 4), (7, 3), (8, 2), (9, 1)]
a8= [(0, 2), (2, 0), (1, 1)]
a9= [(1, 9), (2,
, (3, 7), (4, 6), (5, 5), (6, 4), (7, 3), (8, 2), (9, 1)]
a10=[(1, 9), (2,
, (3, 7), (4, 6), (5, 5), (6, 4), (7, 3), (8, 2), (9, 1)]
in other words, we need to travel distances to check
979776 pz 58
1036800 pz 50
1128960
1166400
1270080 pz 51
1658880 pz 54
2107392 pz 52
6350400 pz 57
6531840 pz 63
7776000 pz 55 30045390491869460 [4, 5, 9, 10, 6, 10, 4, 9, 2] pz 49 409118905032525 [5, 9, 10, 10, 6, 6, 8, 6]
7776000 pz 49 409118905032525 [5, 9, 10, 10, 6, 6, 8, 6] pz 55 30045390491869460 [4, 5, 9, 10, 6, 10, 4, 9, 2]
9331200 pz 60
10584000 pz 53
18289152 pz 56
22579200 pz 61
41990400 pz 65 30568377312064202855
80015040 pz 62
83607552 pz 59
from
10000000
to
99999999
(or 150000000)
or some mathematical manipulation to highlight more explicit places for search...
***
using an example from 4
54538862 54 53 88 62
[9, 8, 16, 8] 9216
[10, 9, 3, 9] 2430
10 <> 9
[(0, 9), (1,
, (2, 7), (3, 6), (4, 5), (5, 4), (6, 3), (7, 2), (8, 1), (9, 0)]
9 <> 8
[(0,
, (1, 7), (2, 6), (3, 5), (4, 4), (5, 3), (6, 2), (7, 1), (8, 0)]
3 <> 16
[(7, 9), (8,
, (9, 7)]
9 <> 8
[(0,
, (1, 7), (2, 6), (3, 5), (4, 4), (5, 3), (6, 2), (7, 1), (8, 0)]
1 2 3 4 5 6 7 8 9 10
0 [(0, 0) 1
1 [(1, 0), (0, 1)] 2
2 [(2, 0), (1, 1), (0, 2)] 3
3 [(3, 0), (2, 1), (1, 2), (0, 3)] 4
4 [(4, 0), (3, 1), (2, 2), (1, 3), (0, 4)] 5
5 [(5, 0), (4, 1), (3, 2), (2, 3), (1, 4), (0, 5)] 6
6 [(6, 0), (5, 1), (4, 2), (3, 3), (2, 4), (1, 5), (0, 6)] 7
7 [(7, 0), (6, 1), (5, 2), (4, 3), (3, 4), (2, 5), (1, 6), (0, 7)] 8
8 [(8, 0), (7, 1), (6, 2), (5, 3), (4, 4), (3, 5), (2, 6), (1, 7), (0,
] 9
9 [(9, 0), (8, 1), (7, 2), (6, 3), (5, 4), (4, 5), (3, 6), (2, 7), (1,
, (0, 9)] 10
10 [(9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9)] 9
11 [(9, 2), (8, 3), (7, 4), (6, 5), (5, 6), (4, 7), (3,
, (2, 9)] 8
12 [(9, 3), (8, 4), (7, 5), (6, 6), (5, 7), (4,
, (3, 9)] 7
13 [(9, 4), (8, 5), (7, 6), (6, 7), (5,
, (4, 9)] 6
14 [(9, 5), (8, 6), (7, 7), (6,
, (5, 9)] 5
15 [(9, 6), (8, 7), (7,
, (6, 9)] 4
16 [(9, 7), (8,
, (7, 9)] 3
17 [(9,
, (8, 9)] 2
18 [(9, 9)] 1
wrong find looks like that (check that the first line contains (5, 4))
18×18×18×18 = 104976
num elem count
2 [(2, 0), (1, 1), (0, 2)] 3
9 [(9, 0), (8, 1), (7, 2), (6, 3), (5, 4), (4, 5), (3, 6), (2, 7), (1,
, (0, 9)] 10
10 [(10, 0), (9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9), (0, 10)] 11
10 [(10, 0), (9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9), (0, 10)] 11
***
cut off set (18, 0), (0, 18), (17, 1), (1, 17)... , 10×10×10×10 = 10000 (from 0 to 10) combination
elem count
3 [(2, 0), (1, 1), (0, 2)]
10 [(9, 0), (8, 1), (7, 2), (6, 3), (5, 4), (4, 5), (3, 6), (2, 7), (1,
, (0, 9)]
9 [(9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9)]
9 [(9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9)]
from 0 to 10 combination 3 10 9 9 = 2430 all steps
(3, 10, 9, 9) 2430
***
([(9, 0), (8, 1), (7, 2), (6, 3), (5, 4), (4, 5), (3, 6), (2, 7), (1,
, (0, 9)], [(2, 0), (1, 1), (0, 2)], [(9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9)], [(9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9)])
([(9, 0), (8, 1), (7, 2), (6, 3), (5, 4), (4, 5), (3, 6), (2, 7), (1,
, (0, 9)], [(2, 0), (1, 1), (0, 2)], [(9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9)], [(9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9)])
([(9, 0), (8, 1), (7, 2), (6, 3), (5, 4), (4, 5), (3, 6), (2, 7), (1,
, (0, 9)], [(9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9)], [(2, 0), (1, 1), (0, 2)], [(9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9)])
([(9, 0), (8, 1), (7, 2), (6, 3), (5, 4), (4, 5), (3, 6), (2, 7), (1,
, (0, 9)], [(9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9)], [(9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9)], [(2, 0), (1, 1), (0, 2)])
([(9, 0), (8, 1), (7, 2), (6, 3), (5, 4), (4, 5), (3, 6), (2, 7), (1,
, (0, 9)], [(9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9)], [(2, 0), (1, 1), (0, 2)], [(9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9)])
([(9, 0), (8, 1), (7, 2), (6, 3), (5, 4), (4, 5), (3, 6), (2, 7), (1,
, (0, 9)], [(9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9)], [(9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9)], [(2, 0), (1, 1), (0, 2)])
then we took 3 which we don't need
2 [(2, 0), (1, 1), (0, 2)] 3
what we need
18×18×18×18 = 104976
num elem count
8 [(8, 0), (7, 1), (6, 2), (5, 3), (4, 4), (3, 5), (2, 6), (1, 7), (0,
] 9
16 [(16, 0), (15, 1), (14, 2), (13, 3), (12, 4), (11, 5), (10, 6), (9, 7), (8,
, (7, 9), (6, 10), (5, 11), (4, 12), (3, 13), (2, 14), (1, 15), (0, 16)] 17
9 [(9, 0), (8, 1), (7, 2), (6, 3), (5, 4), (4, 5), (3, 6), (2, 7), (1,
, (0, 9)] 10
10 [(10, 0), (9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9), (0, 10)] 11
***
cut off set (18, 0), (0, 18), (17, 1), (1, 17)..., 10×10×10×10 = 10000 (from 0 to 10) combination
elem count
9 [(8, 0), (7, 1), (6, 2), (5, 3), (4, 4), (3, 5), (2, 6), (1, 7), (0,
]
3 [(9, 7), (8,
, (7, 9)]
10 [(9, 0), (8, 1), (7, 2), (6, 3), (5, 4), (4, 5), (3, 6), (2, 7), (1,
, (0, 9)]
9 [(9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9)]
from 0 to 10 combination 9 3 10 9 = 2430 all steps
(9, 3, 10, 9) 2430
***
([(9, 0), (8, 1), (7, 2), (6, 3), (5, 4), (4, 5), (3, 6), (2, 7), (1,
, (0, 9)], [(8, 0), (7, 1), (6, 2), (5, 3), (4, 4), (3, 5), (2, 6), (1, 7), (0,
], [(9, 7), (8,
, (7, 9)], [(9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9)])
([(9, 0), (8, 1), (7, 2), (6, 3), (5, 4), (4, 5), (3, 6), (2, 7), (1,
, (0, 9)], [(8, 0), (7, 1), (6, 2), (5, 3), (4, 4), (3, 5), (2, 6), (1, 7), (0,
], [(9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9)], [(9, 7), (8,
, (7, 9)])
([(9, 0), (8, 1), (7, 2), (6, 3), (5, 4), (4, 5), (3, 6), (2, 7), (1,
, (0, 9)], [(9, 7), (8,
, (7, 9)], [(8, 0), (7, 1), (6, 2), (5, 3), (4, 4), (3, 5), (2, 6), (1, 7), (0,
], [(9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9)])
([(9, 0), (8, 1), (7, 2), (6, 3), (5, 4), (4, 5), (3, 6), (2, 7), (1,
, (0, 9)], [(9, 7), (8,
, (7, 9)], [(9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9)], [(8, 0), (7, 1), (6, 2), (5, 3), (4, 4), (3, 5), (2, 6), (1, 7), (0,
])
([(9, 0), (8, 1), (7, 2), (6, 3), (5, 4), (4, 5), (3, 6), (2, 7), (1,
, (0, 9)], [(9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9)], [(8, 0), (7, 1), (6, 2), (5, 3), (4, 4), (3, 5), (2, 6), (1, 7), (0,
], [(9, 7), (8,
, (7, 9)])
([(9, 0), (8, 1), (7, 2), (6, 3), (5, 4), (4, 5), (3, 6), (2, 7), (1,
, (0, 9)], [(9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7), (2,
, (1, 9)], [(9, 7), (8,
, (7, 9)], [(8, 0), (7, 1), (6, 2), (5, 3), (4, 4), (3, 5), (2, 6), (1, 7), (0,
])
16 [(9, 7), (8,
, (7, 9)] 3