#MATL, 26 bytes
Uses current release (6.0.0). Works on Octave.
0$N1+ttYUb8YAb16YA3$XhZc1$
###Examples
Once:
>> matl 0$N1+ttYUb8YAb16YA3$XhZc1$
1 1 1
Twice:
>> matl 0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$
2 2 2
16 times:
>> matl 0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$0$N1+ttYUb8YAb16YA3$XhZc1$
16 20 10
###Explanation
The number of elements in the stack is used to indicate how many times we've run the snippet
0$ % specify zero inputs for next function, in case this is not the first
% occurence of the snippet.
N % number of elements in stack
1+ % add one
tt % duplicate twice. We now have three copies of the number
YU % convert to string (decimal)
b8YA % bubble up number and convert to octal string
b16YA % bubble up number and convert to hex string
3$XhZc % join top three elements (strings) with a space
1$ % specify one input for next function. If the program ends here, that next
% function will be implicit display, so it will print the top of the stack.
% Else the stack will be left with one element more than at the beginning of
% the current snippet