Bài 31:
program bai_giai;
uses crt;
var n,i:longint;
function ktdx(k:longint):boolean;
var k1,k2:longint;
a:byte;
begin
k1:=k; k2:=0;
while k1<>0 do
begin
a:=k1 mod 10;
k2:=k2*10+a;
k1:=k1 div 10;
end;
if k2=k then exit(true) else exit(false);
end;
BEGIN
clrscr;
write('Nhap n: '); readln(n);
for i:=1 to n do
if ktdx(i) then writeln(i);
readln;
END.
Bài 32:
program bai_giai;
uses crt;
var n:longint;
function kttd(k:longint):boolean;
var a,b:byte;
begin
a:=9;
while k<>0 do
begin
b:=k mod 10;
if a<b then exit(false);
a:=b;
k:=k div 10;
end;
exit(true);
end;
BEGIN
clrscr;
write('Nhap n: '); readln(n);
write(kttd(n));
readln;
END.
Bài 33:
program bai_giai;
uses crt;
var n,i:longint;
function kttd(k:longint):boolean;
var a,b:byte;
begin
a:=0;
while k<>0 do
begin
b:=k mod 10;
if b<a then exit(false);
a:=b;
k:=k div 10;
end;
exit(true);
end;
BEGIN
clrscr;
write('Nhap n: '); readln(n);
for i:=1 to n do
if kttd(i) then writeln(i);
readln;
END.
Bài 34:
program bai_giai;
uses crt;
var n:longint;
function demuoc(k:longint):longint;
var i,d:longint;
begin
d:=0;
for i:=1 to trunc(sqrt(k)) do
if k mod i=0 then d:=d+2;
if i=sqrt(k) then d:=d-1;
exit(d);
end;
BEGIN
clrscr;
write('Nhap n: '); readln(n);
write(demuoc(n));
readln;
END.
Bài 35:
program bai_giai;
uses crt;
var n:longint;
function ktnt(k:longint):boolean;
var r:longint;
begin
if k<2 then exit(false);
for r:=2 to trunc(sqrt(k)) do
if k mod r=0 then exit(false);
exit(true);
end;
BEGIN
clrscr;
write('Nhap n: '); readln(n);
write(ktnt(n));
readln;
END.
Bài 36:
program bai_giai;
uses crt;
var n,i:longint;
function ktnt(k:longint):boolean;
var r:longint;
begin
for r:=2 to trunc(sqrt(k)) do
if k mod r=0 then exit(false);
exit(true);
end;
BEGIN
clrscr;
write('Nhap n: '); readln(n);
for i:=2 to n do
if ktnt(i) then writeln(i);
readln;
END.