Numbers   (positive integers expressed in base ten)   that are (evenly) divisible by the number formed by the
first and last digit are known as   gapful numbers.


Evenly divisible   means divisible with   no   remainder.



All   one─   and two─digit   numbers have this property and are trivially excluded.   Only
numbers    ≥  100   will be considered for this Rosetta Code task.



Example

187   is a   gapful   number because it is evenly divisible by the
number   17   which is formed by the first and last decimal digits
of    187. 



About   7.46%   of positive integers are   gapful.



Task

   Generate and show all sets of numbers (below) on one line (horizontally) with a title,   here on this page
   Show the first   30   gapful numbers
   Show the first   15   gapful numbers    ≥           1,000,000
   Show the first   10   gapful numbers    ≥    1,000,000,000


Related tasks

   Harshad or Niven series.
   palindromic gapful numbers.
   largest number divisible by its digits.


Also see

   The OEIS entry:   A108343 gapful numbers.
   numbersaplenty gapful numbers


to bookend_number :n
  output sum product 10 first :n last :n
end
 
to gapful? :n
  output and greaterequal? :n 100 equal? 0 modulo :n bookend_number :n
end
 
to gapfuls_in_range :start :size
  localmake "gapfuls []
  do.while [
    if (gapful? :start) [
      make "gapfuls (lput :start gapfuls)
    ]
    make "start sum :start 1
  ] [less? (count :gapfuls) :size]
  output :gapfuls
end
 
to report_range :start :size
  print (word "|The first | :size "| gapful numbers >= | :start "|:|)
  print gapfuls_in_range :start :size
  (print)
end
 
foreach [ [1 30] [1000000 15] [1000000000 10] ] [
  apply "report_range ?
]
 