var n: longint; x,d,t,v: longint; { so doan X D T V } dx,dd,dt,dv: longint; { cheu dai moi doan } nx,nt,nd,nv: longint; { so doan X D T V can chon } sdx,sdt,sdd,sdv:longint; procedure nhap; begin readln(x,dx); readln(d,dd); readln(t,dt); readln(v,dv); end; function Ucln(a,b: longint): longint; var r: longint; begin while (b <> 0) do begin r := a mod b; a := b; b := r; end; exit(a) end; (*------------------------------------ Bcnn(a,b) = (a * b)/Ucln(a,b) -------------------------------------*) function Bcnn(a,b: longint): longint; begin exit(a * (b div Ucln(a,b))); end; function Min(a,b: longint): longint; begin if a<b then exit(a) else exit(b); end; procedure XuLi; var b, nxt, ndv: longint; begin b := Bcnn(dx,dt); nx := b div dx; { so doan xanh trong 1 bo xanh - tim } nt := b div dt; { so doan tim trong 1 bo xanh - tim } nxt := Min(x div nx, t div nt); { so bo xanh - tim } sdx := nxt * nx; { so doan xanh can chon } sdt := nxt * nt; { so doan tim can chon } b := Bcnn(dd,dv); nd := b div dd; { so doan do trong 1 bo do - vang } nv := b div dv; { so doan vang trong 1 bo do - vang } ndv := Min(d div nd, v div nv);{ so bo do vang } sdd := ndv * nd; { so doan do can chon } sdv := ndv * nv; { so doan vang can chon } writeln(sdx*dx*sdd*dd);{ dien tich } // writeln(sdx,' ',sdd,' ',sdt,' ',sdv); { so doan moi loai } end; BEGIN assign(input, 'xdtv1.inp'); reset(input); assign(output, 'xdtv1.out'); rewrite(output); nhap; XuLi; END.
* Chuyên dạy lập trình ONLINE cho học sinh THCS, THPT *.
Mọi giao lưu, trao đổi, xin liên hệ: Lê Quang Vinh - zalo: 037.803.8755.
Page: Lớp học Code Sky
Group FB1: Ôn thi HSG9 - THTB - TS10 chuyên tin
Group FB2: Học Scratch - Ôn thi Tin học trẻ bảng A
Thứ Sáu, 13 tháng 5, 2022
XAUDTV1 Pascal
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét
Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.