Trang chủ Tin Học Lớp 10 Nhập vào một mảng,tìm hai số x,y lớn nhất sao...

Nhập vào một mảng,tìm hai số x,y lớn nhất sao cho gt (|x-y|)*(|x+y|) là số lớn nhất. Ràng buộc: +x là số lớn nhất,y =10^6) +Mảng có thể có phần tử dươn

Câu hỏi :

Nhập vào một mảng,tìm hai số x,y lớn nhất sao cho gt (|x-y|)*(|x+y|) là số lớn nhất. Ràng buộc: +x là số lớn nhất,y=10^6) +Mảng có thể có phần tử dương,số 0 và âm +Có nhiều trường hợp

Lời giải 1 :

Nếu có lỗi thì bạn nói mình nhé. ^^

program Hello;
uses crt;
var a:array[1..100] of longint;
    x,y,i,j,n,p1,p2:longint;
begin 
    clrscr;
    p1:=0;
    write('n = ');
    readln(n);  
    for i:=1 to n do
        read(a[i]);
    for i:=1 to n do
        for j:=i to n do
            begin
                p2:=abs(a[i]-a[j])*abs(a[i]+a[j]);
                if abs(x)=abs(a[i]) then
                    x:=abs(x);
                if abs(y)=abs(a[j]) then
                    y:=abs(y);
                if p1<=p2 then
                    begin
                        p1:=p2;
                        x:=a[i];
                        y:=a[j];
                    end;
            end;
    if x<y then
        begin
            i:=x;
            x:=y;
            y:=i;
        end;
    writeln('|x-y|*|x+y| = ', p1);
    write('x = ', x, ' | y = ', y);
    
end.

image

Thảo luận

-- Để mình thấy cho
-- Thay
-- Um🥺
-- program Hello; uses crt; var i,j,n,x,y,max:longint; a:array[1..10000] of longint; begin clrscr; max:=low(integer); readln(n); repeat i:=i+1; read(a[i]); for j:=1 to n do if (max<=abs(a[i]+a[j])*ab... xem thêm
-- Cảm ơn bạn ạ,chúc bạn luôn học giỏi nhé😄
-- Xem có sai không nhé
-- Đúng r bạn,cảm ơn bạn nhiềuuuu
-- Mình thường dùng for thôi nên bạn thử nhiều lần nha

Lời giải 2 :

uses crt;
var i,n,j:longint;
    a:array[1..1000000] of longint;
    x,y,max,t:longint;
begin
    clrscr;
    readln(n);
    for i:=1 to n do read(a[i]);
    readln;
    x:=a[1];
    y:=a[2];
    max:=abs(x-y)*abs(x+y);
    for i:=1 to n-1 do
       for j:=i+1 to n do
          begin
              t:=abs(a[i]-a[j])*abs(a[i]+a[j]);
              if t>=max then
                 begin
                     max:=t;
                     if (a[i]>=a[j]) or (a[i]>=x) then
                        begin
                            x:=a[i];
                            y:=a[j];
                        end
                     else
                        begin
                            x:=a[j];
                            y:=a[i];
                        end;
                 end;
          end;
    writeln(x,' ',y);
readln;
end.

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ự 10

Lớp 10 - Năm thứ nhất ở cấp trung học phổ thông, năm đầu tiên nên có nhiều bạn bè mới đến từ những nơi xa hơn vì ngôi trường mới lại mỗi lúc lại xa nhà mình hơn. Được biết bên ngoài kia là một thế giới mới to và nhiều điều thú vị, một trang mới đang chò đợi chúng ta.

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