Numbers k such that the last letter of k is the same as the first letter of k+1: Difference between revisions

m
Line 550:
firstcache, lastcache = [s[0] for s in spelledcache], [s[-1] for s in spelledcache]
 
def firstletterqualifies(n):
returnlastchar = lastcache[n % 1000] if n % 1000 > 0 else 'o' if n == 0 else \
if n == 0:
'n' if n % 1_000_000 == 0 returnelse 'zd'
if n =+= 0:1
j = 0
while n > 0:
n, j = divmod(n, 1000)
return firstcache[j] == lastchar
 
def lastletter(n):
return lastcache[n % 1000] if n % 1000 > 0 else 'o' if n == 0 else \
'n' if n % 1_000_000 == 0 else 'd'
 
def qualifies(n):
return lastletter(n) == firstletter(n + 1)
 
def testqualifies():
4,103

edits