Rebol3 Code Examplex


Count in octal

Produce a sequential count in octal, starting at zero, and using an increment of a one for each consecutive number.

Rebol [
    title: "Rosetta code: Count in octal"
    file:  %Count_in_octal.r3
    url:   https://rosettacode.org/wiki/Count_in_octal
]

to-octal: func [
    "Convert integer to octal string."
    n [integer!]
][
    if n <= 0 [ return copy "0" ]
    out: copy ""
    while [n > 0] [
        insert out n % 8 ;; prepend next octal digit
        n: n // 8        ;; integer division
    ]
    out
]

for i 0 40 1 [
    print [
        "number in base 10:" as-green pad i 2
        "is in octal:"       as-green to-octal i
    ]
]

Output:

number in base 10: 0  is in octal: 0
number in base 10: 1  is in octal: 1
number in base 10: 2  is in octal: 2
number in base 10: 3  is in octal: 3
number in base 10: 4  is in octal: 4
number in base 10: 5  is in octal: 5
number in base 10: 6  is in octal: 6
number in base 10: 7  is in octal: 7
number in base 10: 8  is in octal: 10
number in base 10: 9  is in octal: 11
number in base 10: 10 is in octal: 12
number in base 10: 11 is in octal: 13
number in base 10: 12 is in octal: 14
number in base 10: 13 is in octal: 15
number in base 10: 14 is in octal: 16
number in base 10: 15 is in octal: 17
number in base 10: 16 is in octal: 20
number in base 10: 17 is in octal: 21
number in base 10: 18 is in octal: 22
number in base 10: 19 is in octal: 23
number in base 10: 20 is in octal: 24
number in base 10: 21 is in octal: 25
number in base 10: 22 is in octal: 26
number in base 10: 23 is in octal: 27
number in base 10: 24 is in octal: 30
number in base 10: 25 is in octal: 31
number in base 10: 26 is in octal: 32
number in base 10: 27 is in octal: 33
number in base 10: 28 is in octal: 34
number in base 10: 29 is in octal: 35
number in base 10: 30 is in octal: 36
number in base 10: 31 is in octal: 37
number in base 10: 32 is in octal: 40
number in base 10: 33 is in octal: 41
number in base 10: 34 is in octal: 42
number in base 10: 35 is in octal: 43
number in base 10: 36 is in octal: 44
number in base 10: 37 is in octal: 45
number in base 10: 38 is in octal: 46
number in base 10: 39 is in octal: 47
number in base 10: 40 is in octal: 50