Talk:First perfect square in base n with n unique digits: Difference between revisions

m
(Finding maximal distances to check if number needs extra digit)
Line 475:
I checked all solutions for the possibly inserted digits.This makes only sense, if the inserted digit ist "small" , so that one will find a solution, before this inserted digit is reached by sqr(num)
<pre>
Base 17 -> base-1 = 16 -> (base-1) / 2 = 8
insert 1 this is the relevant digit -> smallest startvalue.
insert 1
1 4 dgt/count: 3 5 11 13 //distances = +2 +6 +2 +6 // digital roots of 3,5,11,13 lead to possible solution
1 4 : 3 5 11 13 //distances = +2 = diff1 =(8-2*k) +6= (8-diff1)
0+3,8-3,8+3,16-3, 16+3,24-3, n*((Base-1)/2) +/- k (= first found value ) k = 3
8 4 : 4 8 12 16 //distances = +4 +4 +4 +4
0+4,8-4,8+4,16-4, 16+4,24-4,
9 4 : 1 7 9 15 //distances = +6 +2 +6 +2
12 4 : 2 6 10 14 //distances = 0+4 1,8-1,8+41,16-1, 16+41,24-1, +4
 
Base 21 -> base-1 = 20 -> 10
insert 6
6 4 : 4 6 14 16 // +2 +8 +2 +8
10 2 Ed: 10 20 // 0+4,10-4,10+4,20-4, 20+104...
Base 29 -> base-1 = 28 -> 14
11 4 : 1 9 11 19 // +8 +2 +8 +2
14 4 : 2 8 12 18 // +6 +4 +6 +4
15 2 : 5 15 // +10 +10
19 4 : 3 7 13 17 // +6 +6 +4 +4
Base 29 -> base-1 = 28
insert 2
2 4 : 4 10 18 24 // +6 +8 +6 +8
7 2 : 7 21 //0+4,14-4,14+4,28-4, 28+144
11 4 : 5 9 19 23 //+4 +10 +4 10
14 2 : 14 28 //+14 +14
15 4 : 1 13 15 27 //+12+2+12+2
18 4 : 2 12 16 26 //+10+4+10+4
22 4 : 6 8 20 22 //+2+12+2+12
23 4 : 3 11 17 25 //+8+6+8+6
</pre>
Now one sees that only few different distances need to be calculated.In the case of base 29 only 4 out of 28 = 1/7 => runtime about 700 s.Or for a 4-core CPU test every 28 from the different start values.
For base 49 one needs 8 Core to check every 48 ;-)
<pre> Base 49 48-> 24 ->12 -> 6 ( 5+1 = 6 ? )
insert 1
1 8 : 5 11 13 19 29 35 37 43 //+6+2+6+10+6+2+6+10</pre>
0+5,12-1(= 6-5),12+1,24-5,24+5,36-1,36+1,48-5
Anonymous user