Tổng hợp bài tập Pascal

Bài 1: Viết chương trình tìm ước chung lớn nhất (UCLN) và bội chung nhỏ nhất (BCNN) của hai số nhập từ bàn phím.

Gợi ý
  • Điều kiện:

    • Ước chung lớn nhất là gì? Nếu một số nguyên aa bất kỳ chia hết cho số nguyên cc được gọi là ước của số nguyên aaaa được gọi là bội của cc. Nếu 2 số dương aabb bất kỳ cùng chia hết cho một số nguyên cc lớn nhất thì cc được gọi là ước chung lớn nhất của aabb. Nếu aabb đều bằng 0 thì chúng không có ước chung.
    • Bội chung nhỏ nhất là gì? cc được gọi là bội chung nhỏ nhất của aabb khi cc là số nguyên nhỏ nhất chia hết cho aabb.
UCLN(a,b)=abBCNN(a,b)UCLN(a,b) = \frac{a*b}{BCNN(a,b)}
  • Cách giải: Lấy số lớn hơn trong 2 số đã cho trừ đi nhau. Lặp lại thao tác cho đến khi 2 số bằng nhau thì ngừng => UCLN. Và làm theo công thức trên ta được BCNN.

Đáp án
var a,b,UCLN,BCNN:integer;
begin
  write('Nhap vao 2 so a va b');
  readln(a,b);
  BCNN:=a*b;
  While a<>b do 
  If a>b then a:=a-b else b:=b-a;
  UCLN:=a;
  BCNN:=BCNN div UCLN;
  write(UCLN,' ',BCNN);
end.

Bài 2: Viết chương trình nhập vào một dãy gồm N số nguyên rồi thực hiện các yêu cầu sau:

  1. Cho biết có bao nhiêu số lẽ trong dãy?
  2. Tính trung bình cộng của các số lẽ trong dãy đó.

Bài 3: Viết chương trình giải bài toán sau:

Trăm trâu trăm cỏ
Trâu đứng ăn năm
Trâu nằm ăn ba
Lụ khụ trâu già
Ba con một bó
Hỏi mỗi loại mấy con?

Gợi ý
  • Có một trăm con trâu ăn hết một trăm bó cỏ. Mỗi con trâu đứng ăn đưọc 5 bó. Mỗi con trâu nằm ăn được 3 bó và ba con trâu già thì chia nhau chỉ ăn được 1 bó. Hỏi có bao nhiêu con trâu đứng, bao nhiêu con trâu nằm và bao nhiêu con trâu già.
  • Phân tích:

    • Trâu đứng ăn 5 => số cỏ ăn là 5 bó => số trâu đứng <=20.
    • Trâu nằm ăn 3 => số cỏ ăn được là 3 bó => số trâu nằm <=33
    • Trâu già = 100 – số trâu đứng – số trâu nằm.

Đáp án
Program ConTrau;
Uses Crt;
Var i,j,k:byte;
Begin
  Clrscr;
  For i:=1 to 20 do
    For j:=1 to 33 do
      begin
        k:=100-i-j;
        if 5*i+3*j+k/3 = 100 then
          Writeln('Trau dung ',i,' trau nam ',j,' trau gia ',k);
      end;
  Readln
End.


Bài 4: Cho dãy gồm N số nguyên dương A={a1, a2, a3,..., an}. Hãy tìm và in ra màn hình số nguyên tố lớn nhất có trong dãy. Nếu trong dãy không có số nguyên tố nào thì in ra màn hình số 0.

© 2019-2020 Phan Nhật Chánh