题解
【入门】橘子称重
1 条题解
-
0
解题思路
一箱有 m 个橘子,因为橘子大小均匀,可以先称 n 个算出平均重量,再乘总个数估计整箱重量。
思路:
- 读入 n 个橘子的重量并累加
- 平均每个橘子重量 = 总和 ÷ n
- 整箱总重 ≈ 平均重量 × 总个数 m
- 保留 1 位小数
为什么这样算? 因为橘子大小均匀,所以样本的平均重量可以代表整个箱子橘子的平均重量,乘上总数就是整箱的估计重量。
注意:算平均要用 s * 1.0 / n,让除法变成小数除法,不然整数除法会丢小数。
举例:m=100,称了 7 个橘子共 568 克
- 平均 568÷7 ≈ 81.14
- 整箱 ≈ 81.14 × 100 = 8114.3
参考代码
#include <iostream> #include <iomanip> using namespace std; int main() { int m, n; double a[50]; double s = 0; cin >> m >> n; for (int i = 0; i < n; i++) { cin >> a[i]; s += a[i]; } double avg = s * 1.0 / n; // 平均重量 cout << fixed << setprecision(1) << avg * m; // 总重 return 0; }复杂度分析
- 时间复杂度:O(N),N 为称的橘子数
- 空间复杂度:O(N),存重量数组
- 1