문제

1 ~ num1 사이의 값을 가지는 정수 a와 1 ~ num2 사이의 값을 가지는 정수 b가 있다. a와 b를 곱한 값을 c( = a * b)라 했을 때 c를 이루는 모든 숫자가 a와 b를 이루는 숫자에 포함되어 있는 a, b의 쌍의 개수를 구하려고 한다.


a의 범위를 나타내는 정수 num1, b의 범위를 나타내는 정수 num2가 매개변수로 주어진다. c( = a * b)를 이루는 모든 숫자가 a, b를 이루는 모든 숫자에 포함되는 a, b의 쌍의 개수를 return 하시오.

제한사항

1 <= num1 <= 100, 1 <= num2 <= 100

입출력 예

num1 num2 result
1 1 1
2 2 3
29 32 159

Source

def digits(n):
    return set(str(n))

def count_valid_pairs(num1, num2):
    count = 0

    for a in range(1, num1 + 1):
        for b in range(1, num2 + 1):
            c = a * b
            all_digits = digits(a) | digits(b)

            if digits(c).issubset(all_digits):
                count += 1

    return count