题目
从标准输入读入一个 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