proc digitalRoot n . x persistence . numberString$ = n currentPersist = 0 while len numberString$ > 1 for i = 1 to len numberString$ sum += number substr numberString$ i 1 . numberString$ = sum currentPersist += 1 sum = 0 . x = number numberString$ persistence = currentPersist . numbers[] = [ 627615 39390 588225 393900588225 ] for i in numbers[] digitalRoot i x persistence print i print "Additive persistence: " & persistence print "Digital root: " & x .