题目

从标准输入读入一个正整数 n,统计并输出该整数的十进制位数。

输入格式:一行输入一个正整数 n。

输出格式:输出一个整数表示其位数,末尾换行。

数据范围与约定:1 ≤ n ≤ 1018。

思路与算法

1. 数学循环整除法
通过 while n: n //= 10; count += 1 循环整除 10 逐位剥离,适合理解数位算法。

2. 字符串长度法
Pythonic 极简方案为 len(input().strip()),时间复杂度同样为线性 O(位长)。

完整程序

n = int(input())

# 斐波那契数列迭代:使用 a, b 滚动更新,避免递归重复计算
a, b = 0, 1
for _ in range(n):
    a, b = b, a + b

print(a)

运行示例

输入:

12345

输出:

5