Trong cuộc thi giải toán qua mạng internet mỗi học sinh đều có số điểm tích lũy riêng của mình. Số điểm tích lũy của mỗi học sinh là một số nguyên dương K (0 < K # 2109). Đội tuyển của trường THCS Tài Năng có N học sinh tham gia dự thi (2 # N # 100). Tại buổi gặp mặt trước kỳ thi cấp tỉnh, thầy hiệu trưởng quyết định thưởng cho các học sinh trong đội tuyển Q triệu đồng, biết rằng điểm tích lũy của mỗi học sinh đều chia hết cho Q.
Yêu cầu: Hãy tìm số nguyên dương Q lớn nhất.
Dữ liệu vào: Cho trong file văn bản PT.INP có cấu trúc như sau:
- Dòng 1: Ghi số nguyên dương N là số lượng học sinh.
- Dòng 2: Ghi N số nguyên dương lần lượt là điểm tích lũy của N học sinh, các số được ghi cách nhau ít nhất một dấu cách.
Dữ liệu ra: Ghi ra file văn bản PT.OUT theo cấu trúc như sau:
- Dòng 1: Ghi số nguyên dương Q tìm được.
Ví dụ:
PT.INP
5
15 24 45 36 27
PT.OUT
3
Lời giải tham khảo
var f:text;
n,i,d,b:longint;
a:array[1..1000] of longint;
Begin
assign(f,'PT.INP');
reset(f);
readln(f,n);
for i:=1 to n do read(f,a[i]);
close(f);
assign(f,'PT.OUT');
rewrite(f);
d:=a[1];
repeat
for i:=1 to n do
if a[i] mod d=0 then b:=b+1;
if b=n then write(f,d)
else
begin
d:=d-1;
b:=0;
end;
until b<>0;
close(f);
end.
No comments:
Post a Comment
Cảm ơn bạn đã nhận xét