9.29.2017

Con số may mắn

Chọn HSG lớp 12 - Nghệ An 2013 - Bài 2/3
Nhân dịp lễ giáng sinh, công viên trung tâm tổ chức trò chơi 'Con số may mắn'. Mỗi em nhỏ đến tham dự sẽ được phát một số nguyên dưng. Công viên có một thiết bị quay số, mỗi lần quay sẽ tạo ngẫu nhiên một số nguyên dương không vượt quá 104. Người dẫn chương trình sẽ thực hiện N lần quay số. Số nào xuất hiện nhiều nhất trong N lần quay được gọi là con số may mắn, và em nhỏ nào có con số may mắn thì sẽ được phần thưởng (có thể có nhiều con số may mắn).
Yêu cầu: Cho N con số xuất hiện trong N lần quay. Bạn hãy giúp người dẫn chương trình xác định số lần xuất hiện của con số may mắn.
Dữ liệu: Vào từ file văn bản Bai2.inp:
   Dòng đầu là số N (1   N   104);
   Dòng tiếp theo có N số là các số xuất hiện trong N lần quay (các số trên cùng một dòng ghi cách nhau một dấu cách).
Kết qủa: Ghi ra file văn bản Bai2.out: Chỉ một số duy nhất là số lần xuất hiện của con số may mắn.
Ví dụ:
Bai2.inp
5
4 3 4 4 15
Bai2.out
3
Bai2.inp
7
12 5 10 5 8 10 9
Bai2.out
2

                                                           Lời giải tham khảo


Var F: text;
    a, d: array[1..1000] of longint;
    i, j, n, max: longint;
    kt: boolean;
BEGIN
Assign(F,'NA2.INP');
Reset(F);
Readln(F,n);
For i:= 1 to n do
    Read(F,a[i]);
Close(F);
Assign(F,'NA2.OUT');
Rewrite(F);
For i:= 1 to n do
    Begin
    kt:= true;
    For j:= i- 1 downto 1 do
        If a[i]= a[j] then
           kt:= false;
    If kt= true then
       For j:= i to n do
           If a[i]= a[j] then
              d[i]:= d[i]+ 1;
    End;
max:= d[1];
For i:= 1 to n do
    If max< d[i] then
       max:= d[i];
Writeln(F,max);
Close(F);
END.

No comments:

Post a Comment

Cảm ơn bạn đã nhận xét