题解
【入门】哪个厂家的零件更标准?
1 条题解
-
0
解题思路
题目要求比较甲乙两个厂生产的零件哪个更一致(方差更小)。
方差是什么? 方差表示数据偏离平均值的程度。方差越小,数据越集中、越一致。
方差公式: 每个数据减去平均值,平方后全部加起来。
思路:
- 读入两厂的零件尺寸
- 分别算两厂的平均值
- 分别算两厂的方差(每个数据减平均值,平方,累加)
- 方差小的厂更一致,输出它
为什么要平方? 如果不平方,正负偏差会互相抵消。平方后所有偏差都变成正数,能真实反映离散程度。
举例:
- 甲厂平均值 100.4,方差 5.2
- 乙厂平均值 100.4,方差 53.2
- 甲厂方差小,输出 jia
参考代码
#include <iostream> #include <cmath> using namespace std; int main() { int a[1500], b[1500], n; double x1 = 0, x2 = 0; cin >> n; for (int i = 0; i < n; i++) cin >> a[i]; for (int i = 0; i < n; i++) cin >> b[i]; for (int i = 0; i < n; i++) { // 算平均值 x1 += a[i]; x2 += b[i]; } x1 /= n; x2 /= n; double s1 = 0, s2 = 0; for (int i = 0; i < n; i++) { // 算方差 s1 += (a[i] - x1) * (a[i] - x1); s2 += (b[i] - x2) * (b[i] - x2); } if (s1 < s2) { cout << "jia" << endl; // 甲厂更一致 } else { cout << "yi" << endl; } return 0; }复杂度分析
- 时间复杂度:O(N),遍历两遍
- 空间复杂度:O(N),存尺寸数组
- 1