RosettaCodeData/Task/Nth/Maxima/nth.maxima
2026-04-30 12:34:36 -04:00

13 lines
387 B
Text

lrange(a, b) := makelist(i, i, a, b)$
suffixify(n) := block(
suffixes: ["'st", "'nd", "'rd"],
lastd: mod(n, 10),
last2d: mod(n, 100),
sflag: member(lastd, lrange(1, 3)),
suffix: if sflag and last2d#10+lastd then suffixes[lastd] else "'th",
sconcat(n, suffix)
)$
test_nums: append(lrange(0, 25), lrange(250, 265), lrange(1000, 1025))$
map(suffixify, test_nums);