Count in octal: Difference between revisions

→‎{{header|REXX}}: revamped some of the REXX program. -- ~~~~
(→‎{{header|REXX}}: revamped some of the REXX program. -- ~~~~)
Line 888:
 
=={{header|REXX}}==
If this REXX program wouldn't be stopped, it would count ''forever''.
<lang rexx>
<lang rexx>/*REXX program counts in octal until the number exceeds #pgm statements.*/
/*a clumsily way to count in octal.*/ numeric digits 100
 
/*┌────────────────────────────────────────────────────────────────────┐
Line 899:
│ 136 ∙ 2^245 │
│ │
│ protons in the universe, and the same number of electrons, which iswhich
is equal to around 1.57477e+79.
│ │
[Although, a modern extimateestimate is around 10^80. ]
└────────────────────────────────────────────────────────────────────┘*/
 
numeric digits 1000 /*handle almost all big numbers. */
numIn=right('number in', 20) /*used for indentation of output.*/
w=length(sourceline()) /*used for formatting width of #s*/
 
do j#=0 to 136 * (2**256) /*Sir Eddington, here we come ! */
!=x2b( d2x(j#) )
_=right(!, 3 * (length(_) % 3 + 1), 0)
o=
do k=1 to length(_) by 3
o=o'0'substr(_,k,3)
end /*k*/
 
say numIn 'base ten = 'j "right(#,w) numIn "octal = " right(b2x(o)+0,w+w)
 
if j#>sourceline() then exit leave /*stop if #protons > program statements.*/
end /*#*/
 
/*stick a fork in it, we're done.*/</lang>
end
'''output'''
</lang>
Output:
<pre style="height:30ex;overflow:scroll">
number in base ten = 0 number in octal = 0
number in base ten = 1 number in octal = 1
number in base ten = 2 number in octal = 2
number in base ten = 3 number in octal = 3
number in base ten = 4 number in octal = 4
number in base ten = 5 number in octal = 5
number in base ten = 6 number in octal = 6
number in base ten = 7 number in octal = 7
number in base ten = 8 number in octal = 10
number in base ten = 9 number in octal = 11
number in base ten = 10 number in octal = 12
number in base ten = 11 number in octal = 13
number in base ten = 12 number in octal = 14
number in base ten = 13 number in octal = 15
number in base ten = 14 number in octal = 16
number in base ten = 15 number in octal = 17
number in base ten = 16 number in octal = 20
number in base ten = 17 number in octal = 21
number in base ten = 18 number in octal = 22
number in base ten = 19 number in octal = 23
number in base ten = 20 number in octal = 24
number in base ten = 21 number in octal = 25
number in base ten = 22 number in octal = 26
number in base ten = 23 number in octal = 27
number in base ten = 24 number in octal = 30
number in base ten = 25 number in octal = 31
number in base ten = 26 number in octal = 32
number in base ten = 27 number in octal = 33
number in base ten = 28 number in octal = 34
number in base ten = 29 number in octal = 35
number in base ten = 30 number in octal = 36
number in base ten = 31 number in octal = 37
number in base ten = 32 number in octal = 40
number in base ten = 33 number in octal = 41
number in base ten = 34 number in octal = 42
number in base ten = 35 number in octal = 43
</pre>