Để cài đặt bài toán tìm dãy số vừa là số nguyên tố vừa là số palindrome từ 1 đến n trong Pascal, ta có thể sử dụng các hàm kiểm tra số nguyên tố và số palindrome như sau:
function is_prime(n: Integer): Boolean;
var
i: Integer;
begin
if n < 2 then
Exit(False);
for i := 2 to Trunc(Sqrt(n)) do
if n mod i = 0 then
Exit(False);
Exit(True);
end;
function is_palindrome(n: Integer): Boolean;
var
s: string;
begin
s := IntToStr(n);
Result := s = Copy(s, Length(s), -1);
end;
Hàm is_prime
sử dụng thuật toán kiểm tra số nguyên tố đơn giản, với biến i chạy từ 2 đến căn bậc hai của n để kiểm tra xem n có chia hết cho một số nào đó từ 2 đến căn bậc hai của n hay không. Hàm is_palindrome
sử dụng hàm Copy
để lấy phần đầu hoặc phần cuối của chuỗi s, và so sánh hai phần này để kiểm tra xem n có phải là số palindrome hay không.
Sau đó, ta có thể sử dụng hai hàm này để kiểm tra các số từ 1 đến n và in ra các số nguyên tố palindrome bằng cách sử dụng một vòng lặp như sau:
var
i, n: Integer;
begin
n := 100;
for i := 1 to n do
if is_prime(i) and is_palindrome(i) then
Writeln(i);
end.
Kết quả sẽ được in ra trên màn hình là danh sách các số nguyên tố palindrome từ 1 đến 100.