Here is an expl3expl3 approach:
\documentclass{article} \usepackage{xparse} \ExplSyntaxOn \int_new:N \snehal_tally_full_int \int_new:N \snehal_tally_partial_int \box_new:N \snehal_tally_slash_box \cs_generate_variant:Nn \int_step_inline:nnnn { nnVn } \cs_new_protected:Npn \snehal_tally_mark:n #1 { \int_set:Nn \snehal_tally_full_int { \int_div_truncate:nn { #1 } { 5 } } \int_set:Nn \snehal_tally_partial_int { \int_mod:nn { #1 } { 5 } } \int_step_inline:nnVn { 1 } { 1 } \snehal_tally_full_int { \hbox_set:Nn \snehal_tally_slash_box { $\big|$ } \box_rotate:Nn \snehal_tally_slash_box { -70 } \ensuremath { \ooalign { $||||$ \tex_cr:D \hidewidth \tex_raise:D .7ex \box_use:N \snehal_tally_slash_box \hidewidth } }~ } \ensuremath { \int_step_inline:nnVn { 1 } { 1 } \snehal_tally_partial_int { | } } } \NewDocumentCommand \tallymark { m } { \snehal_tally_mark:n { #1 } } \ExplSyntaxOff \begin{document} \tallymark{1001} \end{document} 