|
MATHEMATICA
|
NextOddNbr[n_Integer] := Block[{d = IntegerDigits[n], c = 0, l}, l = Length[d] - 1; If[ OddQ[d[[ -1]]], d[[ -1]]++ ]; d[[ -1]]++; If[ d[[ -1]] > 10, c++; d[[ -1]] = 1]; While[l != 0, If[c == 1, d[[l]]++; c-- ]; If[ EvenQ[ d[[l]]], d[[l]]++ ]; If[ d[[l]] > 10, c++; d[[l]] = 1]; l-- ]; If[c == 1, d[[1]] = d[[1]] + 10]; FromDigits[d]]; k = 1; Do[k = Nest[NextOddNbr, k, 9*10^n]; Print[k], {n, 0, 7}]
|