ADD_X_RANGE = (1..20) #第一个加数的范围
ADD_Y_RANGE = (1..20) #第二个加数的范围
ADD_RES_MAX = 20 #加法和最大值
ADD_RES_MIN = 10 #加法和最小值
ADD_FORMULA_CNTS = 100 #算式总的个数
LINE_CNTS = 5 #每行算式个数
res = {}
while res.size < ADD_FORMULA_CNTS do
x = rand(ADD_X_RANGE)
y = rand(ADD_Y_RANGE)
if (x+y) <= ADD_RES_MAX && (x+y) > ADD_RES_MIN
key = sprintf("%d+%d", x, y)
str = sprintf("%-2d + %-2d = ", x, y)
res[key] = str
end
end
line = 0
res.each{|x,y|
printf(y)
line = line + 1
if line == LINE_CNTS
puts ""
puts ""
line = 0
end
}