题目

从标准输入读入一个 100~999 之间的三位正整数,计算并输出其各位数字之和。

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

输出格式:输出一个整数,表示该数各位数字之和,末尾换行。

数据范围与约定:100 ≤ n ≤ 999。

思路与算法

1. 算术拆分各位数
个位数:n % 10;
十位数:n // 10 % 10(先整除 10 去掉个位,再对 10 取模);
百位数:n // 100。

2. 纯数学解法的高效性
相比于转换为字符串 sum(int(c) for c in str(n)),直接通过算术运算取位没有对象创建和类型转换开销,运行效率更高。

完整程序

import math

r = float(input())

# 使用 math.pi 获取高精度圆周率常量
c = 2 * math.pi * r
s = math.pi * r * r

# 格式化输出保留两位小数
print(f'c={c:.2f} s={s:.2f}')

运行示例

输入:

358

输出:

16