Disarium numbers: Difference between revisions

Add BCPL
(Add Cowgol)
(Add BCPL)
Line 604:
</pre>
 
 
=={{header|BCPL}}==
<syntaxhighlight lang="BCPL">get "libhdr"
 
let length(n) = n < 10 -> 1,
length(n/10) + 1
 
let pow(b, e) = e = 0 -> 1,
b * pow(b, e-1)
let dps(n) = dpsl(n, length(n))
and dpsl(n, p) = n = 0 -> 0,
pow(n rem 10, p) + dpsl(n/10, p-1)
let disarium(n) = dps(n) = n
 
let start() be
for n=0 to 2500 if disarium(n)
do writef("%N*N", n)</syntaxhighlight>
 
{{out}}
<pre>0
1
2
3
4
5
6
7
8
9
89
135
175
518
598
1306
1676
2427</pre>
 
=={{header|C}}==
Line 646 ⟶ 685:
{{out}}
<pre>0 1 2 3 4 5 6 7 8 9 89 135 175 518 598 1306 1676 2427 2646798</pre>
 
 
=={{header|C++}}==
2,114

edits