include "cowgol.coh"; sub abs(n: int32): (r: uint32) is if n<0 then r := (-n) as uint32; else r := n as uint32; end if; end sub; sub printcol(n: int32, s: uint8) is var buf: uint8[12]; var ptr := IToA(n, 10, &buf[0]); s := s - (ptr - &buf[0]) as uint8; while s>0 loop print_char(' '); s := s-1; end loop; print(&buf[0]); end sub; sub lagarias(n: int32): (r: int32) is var nn := abs(n); r := 0; if nn<2 then return; end if; var f: uint32 := 2; while f<=nn loop while nn%f == 0 loop r := r + n/f as int32; nn := nn/f; end loop; f := f+1; end loop; end sub; var i: int32 := -99; var c: uint8 := 0; while i <= 100 loop printcol(lagarias(i), 7); i := i+1; c := c+1; if c%10 == 0 then print_nl(); end if; end loop;