Bài 1:
Chương trình:
Program FNG;
Uses crt;
Var a,b,BCNN: longint;
Begin
Clrscr;
Write('Nhap a, b: '); Readln(a,b);
BCNN:=a*b;
While a<>b do
If a>b then a:=a-b
Else If b>a then b:=b-a;
Writeln('UCLN: ',a);
Write('BCNN: ',BCNN div a);
Readln
End.
Ý tưởng: Dùng thuật toán trừ khử nhau. Khi nào a khác b thì lấy số lớn hơn trừ số bé hơn, khi kết thúc câu lệnh, UCLN = a = b
BCNN = a*b div UCLN
Bài 2:
Chương trình:
Program FNG;
Uses crt;
Var a,b,c,d,min,max: longint;
Begin
Clrscr;
Write('Nhap a, b, c, d: '); Readln(a,b,c,d);
max:=a; min:=a;
If b>max then max:=b;
If c>max then max:=c;
If d>max then max:=d;
If b<min then min:=b;
If c<min then min:=c;
If d<min then min:=d;
Writeln('Max = ',max);
Write('Min = ',min);
Readln
End.
Ý tưởng: Gán max = a, so sánh các số còn lại với max. Nếu lớn hơn max thì gán max = số đó
Gán min = a, so sánh các số còn lại với min. Nếu nhỏ hơn min thì gán min = số đó
Bài 3:
Chương trình:
Program FNG;
Uses crt;
Var a,b,c: 0..9;
Begin
Clrscr;
For a:=1 to 9 do
For b:=0 to 9 do
For c:=0 to 9 do
If sqr(a)*a+sqr(b)*b+sqr(c)=a*100+b*10+c then Writeln(a,b,c);
Readln
End.
Ý tưởng: Cho a chạy từ 1 đến 9 (Vì chữ số đầu tiên không thể bằng 0) và b, c chạy từ 0 đến 9.
Nếu a*100+b*10+c (=abc) = a^3 + b^3 + c^3 thì xuất ra