fork download
  1. def f(s0,e)
  2. s2=s0.dup
  3. s2=s2.gsub("X",e)
  4. return "" if s2.size>1 && s2[0]=="0"
  5. return s2
  6. end
  7.  
  8. while s=gets
  9. t1,r=s.chomp.split("=")
  10. l1,l2=t1.split("+")
  11. ans="NA"
  12. ("0".."9").each{|e|
  13. l1t=f(l1,e)
  14. l2t=f(l2,e)
  15. rt=f(r,e)
  16. if l1t!="" && l2t!="" && rt!="" && l1t.to_i+l2t.to_i==rt.to_i then
  17. ans=e
  18. break
  19. end
  20. }
  21. puts ans
  22. end
Success #stdin #stdout 0.01s 6232KB
stdin
123+4X6=X79
12X+4X6=X79
XX22+89=X2XX
stdout
5
NA
1