# Task
 The number is considered to be `unlucky` if it does not have digits `4` and `7` and is divisible by `13`. Please count all unlucky numbers not greater than `n`.

# Example

 For `n = 20`, the result should be `2` (numbers `0 and 13`).
 
 For `n = 100`, the result should be `7` (numbers `0, 13, 26, 39, 52, 65, and 91`)
 
# Input/Output


 - `[input]` integer `n`

 `1 ≤ n ≤ 10^8(10^6 in Python)`


 - `[output]` an integer

Difficulty: introductory

Starter code:

def unlucky_number(n):
	

Solutions:
def unlucky_number(n):
    return sum(not ('4' in s or '7' in s) for s in map(str, range(0, n+1, 13)))

def unlucky_number(n):
    return sum(1 for k in range(0, n+1, 13) if not set(str(k)) & {"4", "7"})


def unlucky_number(n):
  return sum(x % 13 == 0 and '4' not in str(x) and '7' not in str(x) for x in range(n+1))

def unlucky_number(n):
    return len([i for i in range(1,n+1) if(i%13==0 and str(i).count("4")==0 and str(i).count("7")==0)])+1

def unlucky_number(n):
    return sum( 1 for n in range(0,n+1,13) if set(str(n)) & set('47') == set() )

unlucky_number = lambda n: sum(not {'4', '7'} & set(str(x)) for x in range(0, n + 1, 13))

li = [i for i in range(0,1000000,13)if'4'not in str(i)and'7'not in str(i)]
unlucky_number=lambda n:next(len(li[:li.index(i)])+1for i in range(n,-1,-1)if'4'not in str(i)and'7'not in str(i)and not i%13)

li = [i for i in range(1000000)if'4'not in str(i)and'7'not in str(i)and not i%13]
unlucky_number=lambda n:next(len(li[:li.index(i)])+1for i in range(n,-1,-1)if'4'not in str(i)and'7'not in str(i)and not i%13)