Trang chủ Tin Học Lớp 8 Cho các số nguyên a, b, c, d hãy chọn một cặp số x, y sao cho a ≤ử ≤b...
Câu hỏi :

HELPPP MEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE

image

Cho các số nguyên a, b, c, d hãy chọn một cặp số x, y sao cho a ≤ử ≤b và c ≤ y ≤ d sao cho tích 2 x y là lớn nhất có thể. In ra tích lớn nhất đó. Dữ liệu •

Lời giải 1 :

Thuật toán

Ta xét hai trường hợp

TH1: $a \leq b \leq 0 \leq c \leq d$ hoặc $c \leq d \leq 0 \leq a \leq b$

Không mất tính tổng quát, giả sử $a \leq b \leq 0 \leq c \leq d$. Khi đó, ta thấy, $x \leq 0$ và $y \geq 0$, do đó $x \times y \leq 0$ với mọi cách chọn.

Khi đó, để tối đa hóa giá trị của $x \times y$, ta cần tối thiểu hóa hai giá trị $|x|$ và $|y|$. Do $x \leq 0 \leq y$, ta sẽ chọn $x = b$ và $y = c$. 

TH2: Ngược lại

Dễ thấy, trong trường hợp này, luôn tồn tại một cách để $x, y$ có cùng dấu. Do đó ta sẽ xét trường hợp tối ưu trong hai trường hợp sau:

- Chọn $x = a$, $y = c$: cố gắng khiến $x,y$ cùng âm và lấy tích lớn nhất.

- Chọn $x = b$, $y = d$: cố gắng khiến $x,y$ cùng dương và lấy tích lớn nhất.

Do đó, $x \times y$ lớn nhất trong trường hợp này là $max(a \times c, b \times d)$.

Code (C++)

#include <bits/stdc++.h>
using namespace std;

// Tranh tran so
long long a,b,c,d;

int main(){
    cin >> a >> b >> c >> d;
    if(b <= 0 && 0 <= c){
        cout << b * c;
    }else if(d <= 0 && 0 <= a){
        cout << a * d;
    }else{
        cout << max(a * c, b * d);
    }
    return 0;
}

Lời giải 2 :

#include <iostream>
using namespace std;
int main() {
    long long a,b,c,d;
    cin >> a >> b >> c >> d;
    long long s1 = a*c, s2=a*d,s3=b*c,s4=b*d;
    cout << max(s1,max(s2,max(s3,s4)));
}

Bạn có biết?

Tin học 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. 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. Hãy tận dụng sức mạnh của tin học để giải quyết các vấn đề và sáng tạo ra những giải pháp mới!

Nguồn :

Wikipedia - Bách khoa toàn thư

Tâm sự lớp 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 và sang năm lại là năm cuối cấp, áp lực lớn dần. Hãy chú ý đến sức khỏe, cân bằng giữa học và nghỉ ngơi để đạt hiệu quả tốt nhất!

Nguồn :

sưu tập

Copyright © 2024 Giai BT SGK