Bài này đâu khó đâu:
Bài 1: Lần lượt nhập các số, nếu bằng không thì kết thúc, nếu bằng 5 thì biến đếm tăng lên 1.
Code:
Var
a, i: Integer; {a để nhập số vào từ bàn phím, i để đếm}
Begin
a:=10; i:=0;
While a<>0 Do
Begin
Write('Nhap a= '); Readln(a);
If a=5 Then i:=i+1;
End;
Writeln('So cac so 5 la: ',i);
Readln;
End.
Bài 2 phải dùng mảng để lưu dữ liệu, chưa dc dạy thì ko cần làm.
Bài 3 tương tương tự bài 1, chỉ cần sửa lại điều kiện If là xong.
Bài 4 cũng phải sửa lại điều kiện If nhưng cần biết về cách kiểm tra số nguyên tố.
Cách thông dụng nhất: Theo định nghĩa, SNT là số chỉ chia hết cho nó và chính nó, tức là ko chia hết cho bất kỳ số nào nằm giữa khoảng đó. Giả sử có một số S, ta có thể phần tích S=a*b, dễ thấy nếu S chia hết cho a thì cũng chia hết cho b=>khi phân tích S thành tích 2 số, chỉ cần kiểm tra S có chia hết cho số nhỏ hơn ko mà thôi. Dễ thấy, số nhỏ hơn lớn nhất chính là căn bậc 2 của S => Vậy chỉ cần xét có chia hết cho bất kỳ số nào từ 2 đến phần nguyên của căn bậc 2 của S hay ko mà thôi.
Bookmarks