Chuyển đến nội dung chính

SỐ NGUYÊN TỐ

HÀM KIỂM TRA MỘT SỐ CÓ PHẢI LÀ SỐ NGUYÊN TỐ HAY KHÔNG TRONG PASCAL
(Cách đơn giản, dễ hiểu nhất)

function snt( a:integer):boolean;
var j:integer; uoc:integer;
begin
uoc:=0;
for j:= 1 to a do
if a mod j =0 then uoc:=uoc+1;
if uoc=2 then snt:=true
else snt:=false;
end;

{Cách khác}

Function snt(x:Integer):boolean;
var i:integer;
begin
snt:=x>1;
for i:=2 to X-1 do if x mod i =0 then snt:=false
end;

Một số bài toán liên quan đến số nguyên tố
+ Số nguyên tố rút gọn: số nguyên tố rút gọn của một số n chính là tổng các ước nguyên tố của n
   s:=0;
   for i:=1 to N do if( n mod i=0)  and snt(i) then s:=s+i;
   write('so nguyen to rut gon cua N la:',s);

+ Số nguyên tố họ hàng: Là số nguyên tố, đồng thời tổng của nó với 4 cũng là một số nguyên tố
  for i:=1 ton N do
  If snt(i) and snt(i+4) then write(i, ' ');

+ Số song tố: Là số nguyên tố mà tổng các chữ số của nó cũng là một số nguyên tố;
if  (snt(n)) and  (snt (tong(n))) then write(N, 'la so song to');

+ Số siêu nguyên tố: là số nguyên tố mà khi bỏ đi một chữ số hàng đơn vị thì nó vẫn là 1 số nguyên tố 

function sieu_nto(x:longint):boolean;
begin
sieu_nto:=true;
while x<>0 do
begin
  if snt(x)=false then sieu_nto:=false;
  x:=x div 10;
end;
end;

Số nguyên tố đối xứng: là một số nguyên tố bằng trung bình cộng của 2 số nguyên tố liền trước và liền sau nó

Nhận xét

Bài đăng phổ biến từ blog này

Tam giác số (Pascal)

TAM GIÁC SỐ  (Câu 4. Hội thi Tin Học Trẻ Phú Yên lần thứ XIX - năm 2016)                              7                          3       8                      8      1       0                   2     7        4       4                 4    5      2       6       5 Cho một tam giác gồm các số nguyên không âm (xem hình trên). Hãy viết chương trình tính tổng lớn nhất của các số nằm trên lộ trình từ đỉnh xuống: - Tại mỗi bước đi, lộ trình có thể đi xuống phía bên trái hoặc xuống phía bên phải. - Số hàng trong tam giác lớn hơn...

SỐ CHÍNH PHƯƠNG (PASCAL)

SỐ CHÍNH PHƯƠNG (PASCAL) Số chính phương là số  mà nó là căn bậc 2 của một số nguyên nào đó. ví dụ: 4,9,16,25,.... là các số chính phương;  có nhiều cách để xác định một số có phải là số có phải số chính phương hay không; cách đơn giản nhất  ta dùng lệnh if (sqr (round(sqrt(A))))=A then write('A la so chinh phuong')                                              else  write('A khong la so chinh phuong'); Ghi chú: sqrt : hàm tính căn bậc 2 sqr: hàm tính bình phương round: hàm làm tròn số - Cách khác' if frac(sqrt(A))=0 then  write('A la so chinh phuong')                                              else  write('A khong la so chinh phuong');

DÃY ĐAN DẤU TRONG PASCAL

DÃY ĐAN DẤU TRONG PASCAL Dãy đan dấu là dãy không có 2 phần tử cạnh nhau có dấu giống nhau. ví dụ: -2 4 -9 5 -23 8 là dãy đan dấu Thủ tục kiểm tra dãy đan dấu trong dãy số: procedure dandau; var i,j:integer;     kt:boolean; begin kt:=true; for i:=1 to N-1 do                 begin                 j:=i+1;                 if a[i] *a[j] >0 then kt:=false;                 end; If kt=true then write('Day A la day dan dau') else write('Day A khong phai day dan dau'); end;