Trang chủ Tin Học Lớp 8 bài 4: C++ Cho trước 1 dãy gồm N(1 ≤N...

bài 4: C++ Cho trước 1 dãy gồm N(1 ≤N ≤5000) số nguyên a1,a2,a3,....an, các số trong phạm vi -10000 đến 10000 Yêu cầu Tìm ba số a,b,c trong dãy sao cho tổng S=

Câu hỏi :

bài 4: C++ Cho trước 1 dãy gồm N(1 ≤N ≤5000) số nguyên a1,a2,a3,....an, các số trong phạm vi -10000 đến 10000 Yêu cầu Tìm ba số a,b,c trong dãy sao cho tổng S= a^2+b^2+c^2 đạt giá trị lớn nhất Dữ liệu vào Đọc từ bàn phím theo cấu trúc sau +Dòng đầu là số nguyên N +Dòng thứ 2 đọc N số nguyên a1,a2,a3,....,an,mỗi số cách nhau 1 khoảng trắng Kết qủa ra :Xuất ra màn hình 1 số nguyên duy nhất là tổng số S lớn nhất tìm được ví dụ Dữ liệu vào kết quả ra 5 70 3 1 5 2 6 giải thích ví dụ:"Tổng lớn nhất là S=3^2+5^2+6^2=70

Lời giải 1 :

#include <vector>
#include <iostream>
#include <algorithm>

#define sqr(x) (x * x)
using namespace std;

int main() {
    int n; cin >> n;
    vector<int> a(n);
    
    for (int &x: a) cin >> x;
    transform(a.begin(), a.end(), a.begin(), [](int x) { return abs(x); });
    sort(a.begin(), a.end(), greater<int>());
    
    cout << sqr(a[0]) + sqr(a[1]) + sqr(a[2]);
}

Thảo luận

-- cách.. ngắn hơn xíu: :)) #include <vector> #include <iostream> #include <algorithm> #define sqr(x) (x * x) using namespace std; int main() { int n; cin >> n; vector<int> a(n); for (int &x: a) cin >> x; sort(a.begin(), a.end(), []... xem thêm
-- https://hoidap247.com/cau-hoi/3228548
-- tắt bình luận giúp mik vs ạ
-- :))? bảo mấy mod chứ bđhh như mình sao tắt :))
-- mấy mod kia lặn đou mất tui ời ạ

Lời giải 2 :

*Mình sẽ làm nhanh: Dùng hàm sort() nhé

*Mình sẽ tính |a[i]| nhé vì $a[i]^{2}$ dù âm hay dương thì cũng sẽ ra số dương và mình để |a[i]| để dùng với hàm sort nhé

#include <bits/stdc++.h>
using namespace std;
long long n;
int main()
{
    cin >> n;
    long long a[n];
    for (long long i=0; i<n; i++)
    {
        cin >> a[i];
        a[i]=abs(a[i]);
    }
    sort(a,a+n);
    reverse(a,a+n);
    long long tong=pow(a[0],2)+pow(a[1],2)+pow(a[2],2);
    cout << tong;
}

Bạn có biết?

Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.

Nguồn : Wikipedia - Bách khoa toàn thư

Tâm sự 8

Lớp 8 - Năm thứ ba ở cấp trung học cơ sở, học tập bắt đầu nặng dần, sang năm lại là năm cuối cấp áp lực lớn dần nhưng các em vẫn phải chú ý sức khỏe nhé!

Nguồn : ADMIN :))

Liên hệ hợp tác hoặc quảng cáo: gmail

Điều khoản dịch vụ

Copyright © 2021 HOCTAPSGK