Klicken Sie auf einen Programmteil um Hilfe zu erhalten











































DO 'betrachte z%(1 to t%)
DO WHILE io%(t%)
FOR r% = 1 TO t%
PRINT z%(r%);
NEXT r%
PRINT
IF t% = l% THEN EXIT DO
t% = t% + 1
z%(t%) = 0
LOOP
DO WHILE z%(t%) = g%
t% = t% - 1
IF t% = 0 THEN GOTO ende
LOOP
z%(t%) = z%(t%) + 1
LOOP
Ein Zähler durchläuft das Array und zählt die Zahlen durch Backtracking stellenweise hoch (siehe Wortfolgen - Quadrate erkennen). Wörter, die Kuben enthalten, werden nicht ausgegeben.
































































FUNCTION io% (p%)
FOR l% = 1 TO INT(p% / 3)
x% = -1
DO
x% = x% + 1
LOOP UNTIL x% = l% OR z%(p% - x%) <> z%(p% - x% - l%) OR z%(p% - x%) <> z%(p% - x% - 2 * l%)
IF x% = l% THEN
io% = 0
EXIT FUNCTION
END IF
NEXT l%
io% = 1
END FUNCTION
Das Unterprogramm, prüft die erzeugten Wörter auf Kuben und übermittelt das Ergebnis dem Hauptprgramm.