Bài tập 2

Đề bài

Xem công thức tính sau đây (đề thi tuyển sinh cao học ngành KHMT, năm 2011) :

Aver\sum\limits_{i=0}^{n-1}{{(a_i - Max)}^2} + \sum\limits_{i=0}^{n-1}{{(a_i - Min)}^2} + \dfrac{n}{2}{{(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) a_0, a_1, ..., a_{n-1}.

Chỉ dùng duy nhất 1 vòng lặp (for hoặc while), đề xuất cách thức để nhập n số thực như trên và tính giá trị của biểu thức Aver, xuất kết quả tính ra thiết bị xuất chuẩn. Viết chương trình để minh họa đề xuất đó.

Lưu ý: Phần này chúng ta chưa học về mảng, nên vấn đề chính của bài toán này là không thể dùng mảng để lưu giá trị của n số thực nói trên. Như vậy phải đề xuất một giải pháp “thông minh” để nhập và tính toán mà không đưa trước các số thực này vào mảng.

Hướng giải:

Với bài toán như trên, chúng ta không có thông tin về Max, Min trong quá trình nhập, vậy cách giải quyết trong trường hợp này là thực hiện biến đổi công thức của đề bài để đưa Max, Min ra ngoài.Ta biến đổi như sau:

\sum\limits_{i=0}^{n-1}{{(a_i - Max)}^2} = \sum\limits_{i=0}^{n-1}{{a_i}^2} - 2Max.(\sum\limits_{i=0}^{n-1}{a_i}) + n.Max^2

\sum\limits_{i=0}^{n-1}{{(a_i - Min)}^2} = \sum\limits_{i=0}^{n-1}{{a_i}^2} - 2Min.(\sum\limits_{i=0}^{n-1}{a_i}) + n.Min^2

Mã nguồn <—- Nhấp vào đây để tải mã nguồn.
Các bạn vào comment thảo luận nào. 🙂

Advertisements

About notpeo

roamer
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s