View Full Version : help me ( càng nhanh càng tốt )
ai có thể giải giúp mình mấy bài pascal này với nhanh nhé
Bài 1:tìm max của 4 số a,b,c,d ( lưu ý dùng càng ít lệnh If càng tốt)
Bài 2:lập trình từ bàn phím ba số nguyên m,n,k.Tính và đưa ra màn hình bình phương các số không âm và lập phương của các số âm.
ninjapro
20-12-2007, 22:00
bài 1:
if (a>b) then max1:=a else max1:=b;
if (c>d) then max2:=c else max2:=d;
if (max1>max2) then max:=max1 else max:=max2;
bài 2:
hông hiểu nhập n,m,k để làm gì nhỉ?
trước hết thanks về bài 1 , còn bài 2 nhập m,n,k từ bàn phím mà . m,n,k là các số mình tự chọn.
worldcup
20-12-2007, 22:18
Bài 2 > bế tắc trong gang tấc
ủa bài 2 là bài trong sgk 11 mà ai cũng tịt vậy chán quá, công nhân là thiên hà còn nhiều người ....ngu như mình :D
bài 1 có ai nghĩ ra cách dùng ít lệnh If hơn không
mr_invincible
20-12-2007, 22:48
If m>=0 then Writeln(m*m) else Writeln(m*m*m);
If n>=0 then Writeln(n*n) else Writeln(n*n*n);
If k>=0 then Writeln(k*k) else Writeln(k*k*k);
function max(a, b : integer) : integer;
begin
max := a + b - abs(a - b);
end;
begin
read(a, b, c, d);
writeln( max( max(a,b), max(c,d) );
end;
Không dùng lệnh if nào, chắc là cách này ít nhất rồi, trừ phi... :)
grenadier1991
21-12-2007, 09:43
Có chắc ko đấy:
2 số là 10 và 3. Max là 10
10+3-abs(10-3)=10???????????
Tui nghĩ phải sửa lại một chút
max:=trunc((a+b+abs(a-b))/2);
: D
Nhầm nhầm, tại mình có chạy thử đâu. : D
Thực ra là muốn tìm số lớn ta lấy tổng cộng hiệu rồi chia hai đó mà.
tranvanho
21-12-2007, 19:06
ủa bài 2 là bài trong sgk 11 mà ai cũng tịt vậy chán quá, công nhân là thiên hà còn nhiều người ....ngu như mình :D
không phải là ngu mà là mới chập chững bước đi trên con đường pascal
tranvanho
21-12-2007, 19:09
bài 1 và 2 đều rất cơ bản bạn tự suy nghĩ đi
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.