- 한수란 각 자리의 수들이 등차수열을 이루는 수를 칭한다.
- 이전 문제에서 영감을 얻어 문자 단위로 수를 나눠서 푸는게 효율적일 것 같다.
10의 자릿수 까지는 1의 자릿수가 같거나 작지만 않아도 무조건 한수이다.
# 한수구하기
N = int(input())
count = 0
# 1~10까지는 count + 1
for i in range(1, N+1):
if i in range(1, 10):
count += 1
# 두 자릿수는 각 자릿수가 같거나 10의 자릿수가 더 크면 안됨.
elif i in range(10, 100):
count += 1
#세 자릿수는 각 자릿수의 차가 일정해야함.
elif N in range(100, 1001):
if abs((i//10)%10 - (i//100)%10) == abs(i%10 - (i//10)%10):
if ((i//10)%10 > (i//100)%10) and i%10 > (i//10)%10:
count +=1
elif ((i//10)%10 < (i//100)%10) and i%10 < (i//10)%10:
count +=1
elif ((i//10)%10 == (i//100)%10) and i%10 == (i//10)%10:
if i != 1000:
count +=1
else:
pass
else:
pass
else:
pass
else:
pass
print(count)
num = int(input())
hansu = 0
for i in range(1, num+1):
num_list = list(map(int, str(i)))
if i < 100:
hansu += 1 # 100보다 작으면 모두 한수
elif num_list[0]-num_list[1] == num_list[1]-num_list[2]:
hansu += 1 # x의 각 자리가 등차수열이면 한수
print(hansu)