티스토리 뷰

https://www.acmicpc.net/problem/1065

 

1065번: 한수

어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 

www.acmicpc.net

import sys

N = int(sys.stdin.readline())
cnt = 0

for i in range(1, N+1):
    num = list(str(i)) 

    for j in range(len(num)):
        num[j] = int(num[j])

    if len(num) == 1:
        cnt += 1
    elif len(num) == 2:
        cnt += 1
    else:
        for j in range(len(num)-2):    
            if (num[j+1] - num[j]) == (num[j+2] - num[j+1]):
                cnt += 1
            else:
                break

print(cnt)
공지사항
최근에 올라온 글
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함