008.赫敏在一家印刷公司上班,她的一项工作就是统计一本书籍页码中包含的所有页码数字的个数(从1开始,包含结束页码)。比如,一本4页的书包含4个页码数字(1,2,3,4)。请编写一个函数,给定一个页数,求出一共出现的数字个数。
题目来源:codcwars
"""
赫敏在一家印刷公司上班,她的一项工作就是统计一本书籍页码中包含的所有页码数字的个数(从1开始,包含结束页码)。比如,一本4页的书包含4个页码数字(1,2,3,4)。请编写一个函数,给定一个页数,求出一共出现的数字个数。
示例:
输入:4,输出:4。因为页数是1,2,3,4
输入:12,输出:15,因为1-9页共9个数字,10,11,12各有2各数字。
题目难度:简单
"""
def page_digits(n: int) -> int:
sum_digits = 0
for i in range(1, n + 1):
sum_digits += len(str(i))
return sum_digits
if __name__ == '__main__':
assert page_digits(4) == 4
assert page_digits(12) == 15
assert page_digits(100) == 192