Cần giúp gấp!

H

handoi986

[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

Bài 1. Số ước lớn nhất.
Cho dãy A gồm N số nguyên dương $a_{1},a_{2},...,a_{n}. $(1\leqN\leq500). Tìm phần tử mà giá trị của nó có số lượng ước số lớn nhất (nhiều ước số nhất).


BAI1.INP: Dòng 1 Ghi số N. Dòng 2 ghi N số nguyên $a_{1},a_{2},...,a_{n}$ (1\leq$a_{i}$\leq$10^4$). Các phần tử trên ùng 1 dòng ghi cách nhau 1 dấu trống.
BAI1.OUT: Giá trị phần tử có số lượng ước số lớn nhất.


VD:
INP: 5
3 8 7 6 12
OUT:12 (Số 12 có số lượng ước số lớn nhất: 6 ước).



Bài 2. Đoạn con.
Cho dãy A gồm N số nguyên dương $A_{1},A_{2},...,A_{n}$. (1\leqN\leq500). Tìm đoạn con chẵn dài nhất trong dãy A. Biết rằng đoạn con chẵn gồm một số phần tử là số chãn liên tiếp trong dãy A.


BAI2.INP: Dòng 1 Ghi số N. Dòng 2 Ghi N số nguyên $A_{1},A_{2},...,A_{n}$ (1\leq$A_{i}$\leq500). Các phần tử trên cùng một dòng ghi cách nhau một dấu trống.
BAI2.OUT: Dòng 1 Ghi 'CO' nếu tông các phần tử chẵn = tổng các phần tử lẻ trong dãy A, Ghi 'KHONG' nếu ngược lại. Dòng 2 Ghi độ dài (số lượng phần tử) của đoạn con chẵn tìm được lớn nhất.


VD:
INP: 9
3 8 4 7 15 6 12 8 13
OUT: CO
3 (Độ dài đoạn con chẵn lớn nhất gồm [6, 12, 8]


Giúp mình ngay và luôn nhé, mình đang cần gấp:| Cám ơn nhiều :)
 
A

atlmnt

Bài 1:
Mã:
type mang=array of word;
var
  A:mang;
  n,i,max,i1:word;
  F:text;

function souoc(num:word):byte;
var i:word;
begin
  for i:=1 to num do
                if num mod i=0 then souoc:=souoc+1;
end;

BEGIN
  assign(F,'souoc.inp');
  reset(F);
  readln(F,n);
  setlength(A,n);
  while not EOF(F) do
                        begin
                         read(F,A[i]);
                         i:=i+1;
                        end;
  close(F);
  for i:=0 to n-1 do
                if souoc(A[i])>max then begin
                                          max:=souoc(A[i]);
                                          i1:=i;
                                          end;
  assign(F,'souoc.out');
  rewrite(F);
  write(F,A[i1]);
  close(F);
  end.
 
H

handoi986

Bài 1:
Mã:
type mang=array of word;
var
  A:mang;
  n,i,max,i1:word;
  F:text;

function souoc(num:word):byte;
var i:word;
begin
  for i:=1 to num do
                if num mod i=0 then souoc:=souoc+1;
end;

BEGIN
  assign(F,'souoc.inp');
  reset(F);
  readln(F,n);
  setlength(A,n);
  while not EOF(F) do
                        begin
                         read(F,A[i]);
                         i:=i+1;
                        end;
  close(F);
  for i:=0 to n-1 do
                if souoc(A[i])>max then begin
                                          max:=souoc(A[i]);
                                          i1:=i;
                                          end;
  assign(F,'souoc.out');
  rewrite(F);
  write(F,A[i1]);
  close(F);
  end.
Cái này là FreePascal hả bạn? Mình xài TurboPascal, bạn làm lại giùm mình được k? Cám ơn!
 
Last edited by a moderator:
Top Bottom