aboutsummaryrefslogtreecommitdiff
path: root/challenge-142/luca-ferrari/postgresql/ch-1.sql
blob: 57de950651715c77de603d05c0a6d96041e81e35 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
CREATE OR REPLACE FUNCTION
  f_divisors_last_digit( m int, n int )
  RETURNS SETOF int
AS $CODE$
  WITH RECURSIVE numbers AS (
    SELECT 1 as num
     UNION
    SELECT num + 1
      FROM numbers
     WHERE num + 1 <= m )
  , divisors AS (
    SELECT num as div
      FROM numbers
      WHERE m % num = 0 )
  SELECT count(*)
  FROM divisors
  WHERE div::text LIKE ( '%' || n::text );

  $CODE$
  LANGUAGE sql;