简单:完美整数.md
问题描述
完美整数
一个整数如果由相同的数字构成,则称为完美整数。例如:
1、11、333 是完美整数。
12、19、101 是不完美整数。
现在,你需要计算给定区间 [x, y] 中有多少个整数是完美整数。
测试样例
样例1:
输入:x = 1 ,y = 10
输出:9
样例2:
输入:x = 2 ,y = 22
输出:10
示例
def solution(x, y):
return -1
if __name__ == "__main__":
print(solution(1, 10) == 9)
print(solution(2, 22) == 10)
答案
def is_perfect_number(num):
num_str = str(num)
first_digit = num_str[0]
for digit in num_str:
if digit != first_digit:
return False
return True
def solution(x, y):
count = 0
for num in range(x, y + 1):
if is_perfect_number(num):
count += 1
return count
if __name__ == "__main__":
print(solution(1, 10) == 9)
print(solution(2, 22) == 10)