| |
|
|
p.specht
| Im l'an 1691 publizierte qui Französische Gesandte Simon de la Loubére un aus Siam (aujourd'hui Thailand) mitgebrachtes procéder zur Erstellung beliebig großer Magischer Quadrate ungerader Seitenlänge. Allerdings stammt cet verblüffend simple procéder wahrscheinlich aus Surat (dans indes), de wohin es un français nommé M. Vincent ensuite pour Siam brachte. Alter et Zuschreibung de EDV-procéder sembler alors assez willkürlich. le principal, es klappt:
Titre de la fenêtre "Simon de la Loubére (Siamesische Methode) pour Magische Quadrate ungerader Seitenlänge"
'(D) Demo 2017-09 by P.Specht, Vienna/Austria. Alles sans Gewähr! 'Q: Wikipedia
var N&=7'<<< Gewünschte ungerade Seitenlänge ici eingeben!
'====================================================================================
'la première numéro (1) venez au haut de qui Mitte.
'si qui zuletzt geschriebene numéro i ne...aucune Vielfaches de n ist (i mod n <> 0),
'ensuite trage qui prochain numéro i+1 dans cela champ dessus à droite vom zuletzt ausgefüllten champ.
'Hierbei wird cela magische Quadrat comme periodisch wiederholt angesehen, d. h.,
'si on sur den oberen rebord hinausgeht (cela passiert déjà beim ersten Schritt),
'venez on de unten wieder hinein, et si on à droite hinausgeht, ensuite venez on
'de à gauche wieder hinein.
'
'Ist qui zuletzt geschriebene numéro i un Vielfaches de n (i Mod n = 0),
'ensuite trage qui prochain numéro dans cela champ *sous* qui zuletzt geschriebenen numéro.
'
'Verlässt on pour cette régulariser cela Quadrat pour dessus (x,-1), so schreibe qui prochain numéro
'entier unten dans qui Spalte, qui à droite qui Spalte liegt, dans qui qui dernier numéro geschrieben wurde.
'Wird cela Quadrat à droite sortir de, schreibe qui prochain numéro entier à gauche dans qui la ligne,
'qui sur qui la ligne qui zuletzt geschriebenen numéro liegt.
'
'ici un pour cette règle konstruiertes 7×7-Quadrat
'
'30 39 48 1 10 19 28
'38 47 7 9 18 27 29
'46 6 8 17 26 35 37
' 5 14 16 25 34 36 45
'13 15 24 33 42 44 4
'21 23 32 41 43 3 12
'22 31 40 49 2 11 20
Fenêtre Style 24:si n&<16:cls:d'autre:Fenêtre 0,0-%maxx,%maxy:showmax:endif:font 2
si n&>25:imprimer "\n représentation am Schirm pas plus possible!":goto "exit":endif
si n& mod 2
declare F&[n&,n&],m&,x&,y&,z&,i&,j&,lx&,ly&
proc show
locate 2,2
Whileloop 1,n&:j&=&Boucle:whileloop 1,n&:i&=&Boucle
imprimer tab(5*i&);si(F&[i&,j&],F&[i&,j&],"_");
endwhile:imprimer:imprimer:endwhile
endproc
prep:
m&=n&*n&
x&=(n&+1)/2:y&=1
z&=1:F&[x&,y&]=z&:Show
Tandis que 1
x&=x&+1:cas x&>n&:x&=x&-n&
y&=y&-1:cas y&< 1:y&=y&+n&
si F&[x&,y&]=0
inc z&:cas z&>m&:goto "exit"
F&[x&,y&]=z&
d'autre
y&=y&+3
x&=x&-2
cas y&=n&+2:goto "exit"
cas x&<1:x&=x&+n&
cas y&>n&:y&=y&-n&
endif
cas n&<14:Show':waitinput
Endwhile
d'autre
Imprimer "\n cette Algorithmus gilt seulement pour ungerade Seitenlängen!"
endif
exit:
cas (n&>14) and (n&<26):show
imprimer "\n Reihensumme des Magischen ";n&;"x";n&;"-Quadrates: ";int((n&^3+n&)/2);
beep:waitinput 30000
Fin
|
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 25.05.2021 ▲ |
|
|
|