Ho implementato il tutto sfruttando un header fatto qualche tempo fa e finalizzato a riprodurre le varie sequenze del calcolo combinatorio, ma vista la difficoltà nel tenere traccia delle sequenze speculari, le basi da provare sono diventate il doppio, ossia D(15,5)=360360.
Ho pensato quindi di sfruttare quanto detto in precedenza, ossia:
Nippolo ha scritto:
Inoltre si potrebbero fare molte altre considerazioni di carattere logico-matematico, per esempio una piramide la cui base non contiene il massimo sarà sicuramente una piramide non valida!
In pratica invece che le D(15,5), ho considerato le D(14,4), dove gli elementi sono i numeri da 1 a 14. Il quinto numero della generica sequenza che andrà a costituire la base sarà infatti sempre il 15. Per ogni suddetta disposizione avremo 5 possibili basi:
15 x x x x
x 15 x x x
x x 15 x x
x x x 15 x
x x x x 15
Quindi le basi da testare da 360360 scendono a
D(14,4)*5=120120
Ecco gli output per piramidi di base 2, 3, 4 e 5:
2
3 1
2
1 3
1
3 2
1
2 3
Process returned 0 (0x0) execution time : 0.136 s
Press any key to continue.
2
5 3
6 1 4
3
5 2
1 6 4
3
2 5
4 6 1
2
3 5
4 1 6
1
4 3
6 2 5
3
4 1
2 6 5
3
1 4
5 6 2
1
3 4
5 2 6
Process returned 0 (0x0) execution time : 0.213 s
Press any key to continue.
3
5 2
4 9 7
6 10 1 8
3
4 7
5 9 2
6 1 10 8
3
7 4
2 9 5
8 10 1 6
3
2 5
7 9 4
8 1 10 6
4
5 1
2 7 6
8 10 3 9
4
2 6
5 7 1
8 3 10 9
4
6 2
1 7 5
9 10 3 8
4
1 5
6 7 2
9 3 10 8
Process returned 0 (0x0) execution time : 0.204 s
Press any key to continue.
5
4 9
7 11 2
8 1 12 10
6 14 15 3 13
5
9 4
2 11 7
10 12 1 8
13 3 15 14 6
Process returned 0 (0x0) execution time : 0.252 s
Press any key to continue.
Invece, ammesso che non abbia commesso errori, sembrerebbe che le piramidi di base 6 e 7 non hanno soluzioni!