알고리즘(Python,Java)

백준알고리즘 1065번: 한수

IT grow. 2019. 7. 9. 19:48
반응형

백준알고리즘 1065번: 한수

 

문제

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

 

사용언어 : python3 

 

input1 = input()
num = int(input1)

def number100(number):
    sum = 0
    if number < 100:
        sum += number
        return sum

    else:
        sum += 99
        for count in range(100,int(number)+1):
            if count<1000:
                count = str(count)
                first_num = int(count[0:1]) - int(count[1:2])
                second_num = int(count[1:2]) - int(count[2:3])
                if first_num == second_num:
                    sum += 1
            else:
                count = str(count)
                first_num = int(count[0:1]) - int(count[1:2])
                second_num = int(count[1:2]) - int(count[2:3])
                third_num = int(count[2:3]) - int(count[3:4])
                if first_num == second_num == third_num:
                    sum += 1
        return sum

print(number100(num))

 

반응형