fork download
  1. a4 = []
  2. a7 = []
  3. ans = []
  4.  
  5. def add (a4,a7,l,r)
  6. sum4 = 0
  7. sum7 = 0
  8. (l..r).each { |i|
  9. sum4 = sum4 + a4[i]
  10. sum7 = sum7 + a7[i]
  11. }
  12. if(sum4 == sum7)
  13. return 1
  14. end
  15. return 0
  16.  
  17. end
  18. t = gets.to_i
  19. len = 0
  20. (1..t).each {
  21. n = gets.to_i
  22. (len+1..n).each {|i|
  23. a4[i] = i.to_s.count('4')
  24. a7[i] = i.to_s.count('7')
  25. len = len + 1
  26. }
  27.  
  28. count = 0
  29. (1..n).each { |l|
  30. (l..n).each{ |r|
  31. if(l*r > ans.length)
  32. count = count + add(a4,a7,l,r)
  33. else
  34. puts l*r
  35. count = count + ans[l*r]
  36. end
  37. ans[l*r] = count
  38. }
  39. }
  40.  
  41.  
  42. #print "#{ans[n-1]}\n"
  43. }
Runtime error #stdin #stdout 0s 4760KB
stdin
2
1
10
stdout
1
2