segunda-feira, 1 de outubro de 2018

Tabela de arranjos pra sudoco matador


À coleção Adeene neles!
 Jonathan Harris - Bela Lugosi - Bertrand Russel

 Chespirito - Alexandre Soljenitsin em 1953, num gulague


Obrigado por assistir ou por existir?

Tabela de arranjos pra sudoco matador
3 ● 12
4 ● 13
5 ● 14 23
6 ● 15 24 123
7 ● 16 25 34 124
8 ● 17 26 35 125 134
9 ● 18 27 36 45 126 135 234
10 ● 19 28 37 46 127 136 145 235 1234
11 ● 29 38 47 56 128 137 146 236 245 1235
12 ● 39 48 57 129 138 147 156 237 246 345 1236 1245
13 ● 49 58 67 139 148 157 238 247 256 346 1237 1246 1345
14 ● 59 68 149 158 167 239 248 257 347 356 1238 1247 1256 1346 2345
15 ● 69 78 159 168 249 258 267 348 357 456 1239 1248 1257 1347 1356 2346 12345
16 ● 79 169 178 259 268 349 358 367 457 1249 1258 1267 1348 1357 1456 2347 2356 12346
17 ● 89 179 269 278 359 368 458 467 1259 1268 1349 1358 1367 1457 2348 2357 2456 12347 12356
18 ● 189 279 369 378 459 468 567 1269 1278 1359 1368 1458 1467 2349 2358 2367 2457 3456 12348 12357 12456
19 ● 289 379 469 478 568 1279 1369 1378 1459 1468 1567 2359 2368 2458 2467 3457 12349 12358 12367 12457 13456
20 ● 389 479 569 578 1289 1379 1469 1478 1568 2369 2378 2459 2468 2567 3458 3467 12359 12368 12458 12467 13457 23456
21 ● 489 579 678 1389 1479 1569 1578 2379 2469 2478 2568 3459 3468 3567 12369 12378 12459 12468 12567 13458 13467 23457 123456
22 ● 589 679 1489 1579 1678 2389 2479 2569 2578 3469 3478 3568 4567 12379 12469 12478 12568 13459 13468 13567 23458 23467 123457
23 ● 689 1589 1679 2489 2579 2678 3479 3569 3578 4568 12389 12479 12569 12578 13469 13478 13568 14567 23459 23468 23567 123458 123467
24 ● 789 1689 2589 2679 3489 3579 3678 4569 4578 12489 12579 12678 13479 13569 13578 14568 23469 23478 23568 24567 123459 123468 123567
25 ● 1789 2689 3589 3679 4579 4678 12589 12679 13489 13579 13678 14569 14578 23479 23569 23578 24568 34567 123469 123478 123568 124567
26 ● 2789 3689 4589 4679 5678 12689 13589 13679 14579 14678 23489 23579 23678 24569 24578 34568 123479 123569 123578 124568 134567
27 ● 3789 4689 5679 12789 13689 14589 14679 15678 23589 23679 24579 24678 34569 34578 123489 123579 123678 124569 124578 134568 234567
28 ● 4789 5689 13789 14689 15679 23689 24589 24679 25678 34579 34678 123589 123679 124579 124678 134569 134578 234568 1234567
29 ● 5789 14789 15689 23789 24689 25679 34589 34679 35678 123689 124589 124679 125678 134579 134678 234569 234578 1234568
30 ● 6789 15789 24789 25689 34689 35679 45678 123789 124689 125679 134589 134679 135678 234579 234678 1234569 1234578
31 ● 16789 25789 34789 35689 45679 124789 125689 134689 135679 145678 234589 234679 235678 1234579 1234678
32 ● 26789 35789 45689 125789 134789 135689 145679 234689 235679 245678 1234589 1234679 1235678
33 ● 36789 45789 126789 135789 145689 234789 235689 245679 345678 1234689 1235679 1245678
34 ● 46789 136789 145789 235789 245689 345679 1234789 1235689 1245679 1345678
35 ● 56789 146789 236789 245789 345689 1235789 1245689 1345679 2345678
36 ● 156789 246789 345789 1236789 1245789 1345689 2345679 12345678
37 ● 256789 346789 1246789 1345789 2345689 12345679
38 ● 356789 1256789 1346789 2345789 12345689
39 ● 456789 1356789 2346789 12345789
40 ● 1456789 2356789 12346789
41 ● 2456789 12356789
42 ● 3456789 12456789
43 ● 13456789
44 ● 23456789
45 ● 123456789

O sudoco matador é o que tem regiões delimitadas encabeçadas por uma soma. Tem de preencher com números de 1 a 9, sem repetição, cuja soma é a encabeçada. Então eis os arranjos (e cada arranjo com combinações) de cada soma. Por exemplo: A região com 8 casas cuja soma é 43 só tem um arranjo: 13456789. Então a solução é uma das combinações desse arranjo: 13456789, 14356789, 19634578, etc.
Eis o programa em Gw-basic pra gerar a tabela:

10 REM ********************************
20 REM      Arranjo sudoco matador
30 REM ********************************
40 REM ********************************
50 REM *** cheguavira.blogspot.com ****
60 REM ********************************
70 REM
80 DIM S$(45,23)
90 R$="12":R=2:B=2
100 REM ------
110 REM  Soma
120 REM ------
130 X=0
140 FOR I=1 TO R
150 D$=MID$(R$,I,1):D=VAL(D$)
160 X=X+D
170 NEXT
180 REM --------------
190 REM  Armazenagem
200 REM --------------
210 E=0
220 E=1+E
230 IF S$(X,E)<>"" THEN 220:REM Procurando vaga
240 S$(X,E)=R$
250 B=1+B
260 IF B=10 THEN 450: REM rem Arranjo seguinte
270 B$=STR$(B):B$=RIGHT$(B$,LEN(B$)-1)
280 C$=LEFT$(R$,R-1)
290 R$=C$+B$:GOTO 130: REM Soma
300 REM ----------------------
310 REM  Listagem
320 REM ----------------------
330 FOR I=3 TO 45
340 I$=STR$(I):I$=RIGHT$(I$,LEN(I$)-1)
350 PRINT CHR$(219);I$;CHR$(219);
360 FOR J=1 TO 23
370 R$=S$(I,J)
380 IF S$(I,J)<>"" THEN PRINT R$;" ";
390 NEXT J:PRINT
400 NEXT I
410 END
420 REM ------------------
430 REM  Arranjo seguinte
440 REM ------------------
450 F=9:G=R
460 F=F-1:G=G-1:H$=MID$(R$,G,1):H=VAL(H$)
470 IF F=H AND G = 1 THEN 610: REM Aumentar a ordem
480 IF F=H THEN 460:REM Procurar posi‡„o de cresce
490 IF G=1 THEN R$="":GOTO 510: REM Contornar posi‡„o imposs¡vel
500 R$=LEFT$(R$,G-1)
510 C$=""
520 FOR I=G TO R
530 H=1+H:H$=STR$(H):H$=RIGHT$(H$,LEN(H$)-1):C$=C$+H$
540 NEXT
550 R$=R$+C$
560 B$=RIGHT$(R$,1):B=VAL(B$)
570 GOTO 130:REM Soma
580 REM ------------------
590 REM  Aumento da ordem
600 REM ------------------
610 R=1+R
620 IF R=10 THEN 330:REM Listagem
630 R$=""
640 FOR I=1 TO R
650 L$=STR$(I):L$=RIGHT$(L$,LEN(L$)-1)
660 R$=R$+L$
670 NEXT
680 X=R*(R+1)/2
690 B$=RIGHT$(R$,1):B=VAL(B$)
700 GOTO 210:REM Armazenagem

Pra rodar basta salvar como arrsud.bas (ou outro nome .bas)
Pra salvar um programa legível como texto basta salvar no GW-basic como “arrsud”.bas,a. Se omitir o parâmetro a, salva em modo compacto, não legível como texto.
O problema é que não achei comando pra direcionar a impressão a um arquivo texto em vez da impressora. A solução foi imprimir na tela, em partes, subir o cursor e transformar cada linha em linha de programa começando com o comando REM, inoperante, salvar o programa com outro nome, como o parâmetro a e editor no word.

Nenhum comentário:

Postar um comentário