Tính :
Aver=∑i=0n−1(ai−Max)2+∑i=0n−1(ai−Min)2+n2(Max−Min)2
Trong đó Max, Min lần lượt là giá trị lớn nhất, nhỏ nhất của n số thực (được nhập vào từ
thiết bị nhập chuẩn).
Lời giải:
Dựa vào công thức ban đầu, ta khải triển và đươc:
Aver =2∑i=0n−1a2i−2(Max+Min)∑i=0n−1ai+n(Max2+Min2)+n2(Max−Min)2
Dựa vào biểu thức tương đương trên ta dễ dàng tính chỉ với 1 vòng for mà không cần dùng mảng.
Solution tham khảo:
#include<iostream>
using namespace std;
int main()
{
int n,max,min,s=0;
cin>>n;
for(int i=0;i<n;i++) {
cin>>a;
min=(min>a)?a:min;
max=(max<a)?a:max;
s+=(min*min+max*max)*n+;
s+a*a*2*(max-min)*(max-min);
}
cout<<s;
}
#include<iostream>
using namespace std;
int main()
{
int n,max,min,s=0;
cin>>n;
for(int i=0;i<n;i++) {
cin>>a;
min=(min>a)?a:min;
max=(max<a)?a:max;
s+=(min*min+max*max)*n+;
s+a*a*2*(max-min)*(max-min);
}
cout<<s;
}
Không có nhận xét nào:
Đăng nhận xét