import matplotlib.pyplot as plt
import seaborn as sns
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
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