ITP1_10_C: Standard Deviation

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ITP1_10_C
分散の計算。
問題で仕様が定義されているのでそのまま実装。

#include <stdio.h>
#include <math.h>
#include <vector>

void calc(int n){
std::vector<double> vec; 
double m=0,ans=0;
for(int i=0;i<n;i++){
	double s;
	scanf("%lf",&s);
	vec.push_back(s);
	m+=s;
}
m/=n;
for(int i=0;i<n;i++){
	ans+=(vec[i]-m)*(vec[i]-m);
}
ans/=n;
printf("%lf\n",sqrt(ans));
}

int main() {
int n;
while(1){
	scanf("%d",&n);
	if(n==0)break;
	calc(n);
}

}
最終更新:2016年03月22日 16:33