Does it have to be a LISP solution?
I have been playing with Ruby and cobbled this one together
def count_the_carry(string1, string2)
#assumes strings are same length and numeric
array1 = string1.split(//).collect{|x| x.to_i}
array2 = string2.split(//).collect{|x| x.to_i}
sum_array = Array.new
array1.size.times {|i| sum_array[i]=array1[i]+array2[i]}
carry_count = 0
sum_array.each {|x| carry_count += 1 if x >=10}
carry_count
end
input_file = File.new("c:/jobs/random_ints.txt", "r" )
output_file = File.new("c:/jobs/counts.txt", "w")
while (line = input_file.gets)
nums = line.split
count = count_the_carry(nums[0], nums[1])
output_file.write(count.to_s + "\n")
end
input_file.close
output_file.close
My answers are attached