include "cowgol.coh"; typedef N is uint8; sub tau(n: N): (total: N) is total := 1; while n & 1 == 0 loop total := total + 1; n := n >> 1; end loop; var p: N := 3; while p*p <= n loop var count: N := 1; while n%p == 0 loop count := count + 1; n := n / p; end loop; total := total * count; p := p + 2; end loop; if n>1 then total := total << 1; end if; end sub; sub print2(n: uint8) is print_char(' '); if n<10 then print_char(' '); else print_i8(n/10); end if; print_i8(n%10); end sub; var n: N := 1; while n <= 100 loop print2(tau(n)); if n % 20 == 0 then print_nl(); end if; n := n + 1; end loop;