π 固定取 3.14,直译公式 V=4/3·π·r³,再用 printf("%.2f") 保留 2 位小数输出,O(1) 求值。
OJ: roj
题目 ID: 1030
难度:入门
标签:入门数学浮点数python
创建: 2026-09-29 14:40
更新: 2026-10-04 22:51
题目描述
给定球的半径
输入:一个非负实数,即球半径。输出:一个实数,即球的体积,保留 2 位小数。
样例:输入 4,输出 267.95。
思路
代入公式直接求值即可,注意 math.pi,否则舍入结果可能差 0.01。
另外 4/3 要写成真除法(4.0/3.0),最后用 printf("%.2f") 四舍五入到 2 位小数并补零。
参考代码
Python 版:
python
#!/usr/bin/env python3
# Author by Rainboy blog: https://rainboylv.com github: https://github.com/rainboylvx
# rbook: -> https://rbook.roj.ac.cn https://rbook2.roj.ac.cn
# rainboy的学习导航网站: https://idx.roj.ac.cn
# create_at: 2026-07-05 21:47
# update_at: 2026-09-30 10:00
import sys
PI = 3.14 # 题面指定的圆周率取值,不取 math.pi
def solve() -> None:
data = iter(map(float, sys.stdin.buffer.read().split()))
radius = next(data) # 半径 r,非负实数
volume: float = 4 / 3 * PI * radius**3 # 球体积 v = 4/3·π·r³
print(f"{volume:.2f}") # 保留 2 位小数(不足补 0)
if __name__ == "__main__":
solve()C++ 版(同一算法):
cpp
/**
* Author by Rainboy blog: https://rainboylv.com github: https://github.com/rainboylvx
* rbook: -> https://rbook.roj.ac.cn https://rbook2.roj.ac.cn
* rainboy的学习导航网站: https://idx.roj.ac.cn
* create_at: 2026-10-04 22:51
* update_at: 2026-10-04 22:51
*/
// main.cpp:读入球半径,按题面给定的 π=3.14 计算球体积,保留 2 位小数输出。
#include <cstdio>
typedef long long ll;
const double PI = 3.14; // 题面明确要求取 3.14,不能用 acos(-1) 等高精度 π
int main() {
double radius; // 球半径,题面说明类型为 double,且不超过 100
scanf("%lf", &radius);
double volume = 4.0 / 3.0 * PI * radius * radius * radius; // V = 4/3·π·r³
printf("%.2f\n", volume); // 保留 2 位小数,不足补 0
return 0;
}