4 条题解
-
7
题目本身很简单,需要注意要使用文件输入输出、输入输出优化、及保留 2 位小数输出。
freopen("sigma.in", "r", stdin); freopen("sigma.out", "w", stdout); cin >> n; sum = 0; //求和 for (int i = 1; i <= n; i++) { cin >> a[i]; sum += a[i]; } avg = sum / n; //平均数 sum = 0; //求与平均数之差的平方之和 for (int i = 1; i <= n; i++) sum += (a[i] - avg) * (a[i] - avg); sigma2 = sum / n; //方差 sigma = sqrt(sigma2); //标准差 cout << fixed << setprecision(2) << sigma;
-
1
下面这个方法如果只读取不计算的话,大概200毫秒左右。没想到传统输入对速度有这么大的影响。
#7 Accepted 316ms 19.5 MiB #8 Accepted 285ms 19.5 MiB #9 Accepted 292ms 19.5 MiB #10 Accepted 307ms 19.5 MiB
freopen("sigma.in", "r", stdin); freopen("sigma.out", "w", stdout); int n=read(); vector<int> v(n); double sum = 0; for (int i = 0; i < n; i++) v[i] = read(), sum+=v[i]; double mean = sum / n; sum=0; for (auto i : v) sum += (i - mean) * (i - mean); printf("%.2f\n", sqrt(sum / n));
-
-13
60分做法:
#include <bits/stdc++.h> using namespace std; int n, a[500005], sum = 0; int main() { freopen("sigma.in", "r", stdin); freopen("sigma.out", "w", stdout); ios::sync_with_stdio(false); cin.tie(0); cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; sum += a[i]; } int avg = sum / n; //平均数 for (int i = 1; i <= n; i++) sum += (a[i] - avg) * (a[i] - avg); int sigma2 = sum / n; //方差 int sigma = sqrt(sigma2); //标准差 cout << fixed << setprecision(2) << sigma; return 0; }
-
-19
写题解请注意
鼓励大家写题解,但注意题解格式。
题解一定要有思路解析或代码注释,能否让别人理解你的思路
也是你的能力的检验,不要只放无意义的代码给大家复制,那就失去了做题的初心。
给代码两端加上这个会舒服一些
```cpp
你的代码
```
</span>
这个点在键盘的左上角tab上面那个键,注意切换输入法
#include<iostream> using namespace std; int main() { int n; cin>>n;//这是一个注释 return 0; }
请注意严禁抄袭题解,写题解不要只放代码,需加上你的思路或代码注释。
抄袭题解一经发现直接取消成绩。
题解被删除的可能
- 代码不符合格式规范
- 没有思路讲解或者没有注释,
- 无意义的题解
大家携手共同维护一个良好的编程环境,如果一经发现,多次作乱。可能会被管理员拉黑,请注意,一旦拉黑即失去登陆资格。
- 1
信息
- ID
- 1188
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 1881
- 已通过
- 342
- 上传者