Setup¶

In [1]:
import matplotlib.pyplot as plt
import seaborn as sns
In [2]:
def F(x):
    
    #Number of times f has been applied.
    f = 0
    
    #Number of digits.
    digits = len(str(x))

    while digits > 1 :
        #Apply f once.
        f += 1
        
        #Add up digits.
        x_sum = 0
        for j in str(x):
            x_sum += int(j)
            x = x_sum
            digits = len(str(x))
    return f

xs = [i for i in range(1, 10001)]
ys = [F(j) for j in xs]

count = 0
for x in xs:
    if ys[x-1] == 3:
        count += 1
        
print(count)
    
945
In [3]:
v19_3 = []
v19_4 = []
v28 = []
v29 = []
vs = []

for i in range(1,10001) :
    
    x_sum = 0
    for j in str(i):
        x_sum += int(j)
    
    if x_sum == 19 :
        if i < 1000 :
            v19_3.append(i)
        else:
            v19_4.append(i)
    elif x_sum == 28 :
        v28.append(i)
    elif x_sum == 29 :
        v29.append(i)
    else :
        vs.append(i)

print(len(v19_3))
print(len(v19_4))

print(len(v28))
print(len(v29))

print(len(vs))
45
615
165
120
9055

Rohan Lewis¶

2024.02.05¶