Steady squares: Difference between revisions

Content added Content deleted
(→‎{{header|Euler}}: Sybntax highlight with Mediawiki markup)
Line 786: Line 786:
<br>
<br>
Everything is Euler is an expression (apart from new/label/formal) and returns a value (although the value of a "goto" can't be used), so the "else" part of an "if" is not optional, hence the "else 0"s appearing in the code below.
Everything is Euler is an expression (apart from new/label/formal) and returns a value (although the value of a "goto" can't be used), so the "else" part of an "if" is not optional, hence the "else 0"s appearing in the code below.
'''begin'''
<syntaxhighlight lang="euler">
'''new''' maxNumber; '''new''' powerOfTen; '''new''' lastDigit; '''new''' n;
begin
'''new''' while;
new maxNumber; new powerOfTen; new lastDigit; new n;
new while;
while &lt;- ` '''formal''' condition; '''formal''' loopBody;

'''begin'''
while <- ` formal condition; formal loopBody;
begin
'''label''' again;
again: '''if''' condition '''then''' '''begin''' loopBody; '''goto''' again '''end''' '''else''' 0
label again;
again: if condition then begin loopBody; goto again end else 0
'''end'''
end
&apos;
'
;
;
maxNumber &lt;- 10 000;

maxNumber <- 10 000;
powerOfTen &lt;- 10;
lastDigit &lt;- ( 1, 5, 6 );
powerOfTen <- 10;
lastDigit <- ( 1, 5, 6 );
n &lt;- -10;
while( ` [ n &lt;- n + 10 ] &lt;= maxNumber &apos;
n <- -10;
while( ` [ n <- n + 10 ] <= maxNumber '
, ` '''begin'''
, ` begin
'''new''' d;
'''if''' n = powerOfTen '''then''' powerOfTen &lt;- powerOfTen * 10
new d;
if n = powerOfTen then powerOfTen <- powerOfTen * 10
'''else''' 0;
else 0;
d &lt;- 0;
d <- 0;
while( ` [ d &lt;- d + 1 ] &lt;= '''length''' lastDigit &apos;
while( ` [ d <- d + 1 ] <= length lastDigit '
, ` '''begin'''
, ` begin
'''new''' nd; '''new''' n2;
new nd; new n2;
nd &lt;- n + lastDigit[ d ];
nd <- n + lastDigit[ d ];
n2 &lt;- nd * nd;
n2 <- nd * nd;
'''if''' n2 '''mod''' powerOfTen = nd '''then''' '''out''' nd '''else''' 0
if n2 mod powerOfTen = nd then out nd else 0
'''end'''
end
&apos;
'
)
)
'''end'''
end
&apos;
'
)
'''end'''
)
$
end
$
</syntaxhighlight>
{{out}}
{{out}}
<pre>
<pre>