Bài tập  /  Bài đang cần trả lời

Cho dãy số nguyên dương a[1], a[2],....a[n]. Tìm trong dãy số trên chọn 5 số mà có tích của chúng lớn nhất

giúp mình với
----- Nội dung dịch tự động từ ảnh -----
Cho dãy số nguyên dương a[1], a[2],...a[n]. Tìm trong dãy số trên chọn 5 số
mà có tích của chúng lớn nhất.
Dữ liệu vào: Lẫy từ tệp có tên Caul.INP
Dòng 1: Chứa số n (n>4 và n<10000) là số phần tử trong dãy
Dòng 2: Chứa n số nguyên là các phần tử của dãy.
Caul.INP
9
48967539 11
Kết quả; Ghi ra tệp có tên là Caul.OUT
Dòng 1: Chứa tích lớn nhất tìm được.
Dòng 2: Chưa 5 số có tích lớn nhất, đưa ra theo thứ tự tăng dần
Caul.OUT
49896
789911
Lưu ý: Các số trên củng 1 hàng trong tệp Caul.INP và Caul.OUT cách nhau 1 khoảng
trắng.
1 trả lời
Hỏi chi tiết
294
1
0
Thái Thảo
14/05/2023 20:13:34
+5đ tặng
program TimTichLonNhat;
var
  inputFile, outputFile: Text;
  n, i, j, k: integer;
  maxProduct, currentProduct: int64;
  numbers: array of integer;
  selectedNumbers: array[1..5] of integer;

begin
   Assign(inputFile, 'Caul.INP');
  Assign(outputFile, 'Caul.OUT');
  Reset(inputFile);
  Rewrite(outputFile);
  ReadLn(inputFile, n);
  SetLength(numbers, n);
  for i := 0 to n - 1 do
    Read(inputFile, numbers[i]);
  maxProduct := -1;
  for i := 0 to n - 5 do
  begin
    currentProduct := 1;
    for j := i to i + 4 do
      currentProduct := currentProduct * numbers[j];
    // So sánh tích hiện tại với tích lớn nhất đã tìm thấy
    if currentProduct > maxProduct then
    begin
      maxProduct := currentProduct;
      // Lưu các số đã chọn
      for k := 1 to 5 do
        selectedNumbers[k] := numbers[i + k - 1];
    end;
  end;
  WriteLn(outputFile, maxProduct);
  for i := 1 to 5 do
    Write(outputFile, selectedNumbers[i], ' ');
  Close(inputFile);
  Close(outputFile);
end.
 

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm
Bài tập Tin học Lớp 9 mới nhất

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường

Học ngoại ngữ với Flashcard

×
Gia sư Lazi Gia sư
×
Trợ lý ảo Trợ lý ảo