Viết CT cho phép nhập 1 số nguyên dương N (N<10^6)
a) Cho biết có thể sắp xếp lại các chữ số của N để được số chia hết cho 5 không (IN ra màn hình CO hoặc KHONG).
b) Thực hiện xóa 1 chữ số bên phải của số N để được số chia hết cho 9, in ra các số đó. In ra KHONG nếu không thể xóa để được số chia hết cho 9.
c) Thực hiện sắp xếp lại các chữ số của số N để được số có giá trị lớn nhất
uses crt;
var n,i,dem,d,kt,x,d1,j,tam,y:integer;
st,st1,st2:string;
b:array[1..1000]of integer;
{-------------------------chuong-trinh-con------------------------}
function ktra(a:longint):boolean;
begin
if a mod 3=0 then ktra:=true
else ktra:=false;
end;
{-------------------------chuong-trinh-chinh----------------------}
begin
clrscr;
write('Nhap n='); readln(n);
str(n,st);
str(n,st2);
d:=length(st);
kt:=0;
for i:=1 to d do
if (st[i]='0') or (st[i]='5') then kt:=1;
if kt=0 then writeln('KHONG')
else writeln('CO');
dem:=0;
if ktra(n)=true then writeln(n);
if ktra(n)=false then
begin
repeat
n:=n div 10;
inc(dem);
until (ktra(n)=true) or (dem=length(st));
if (ktra(n)=true) and (dem<>length(st)) then
begin
x:=n;
str(n,st1);
writeln(st[length(st1)+1]);
end;
if dem=length(st) then writeln('KHONG');
end;
d1:=length(st2);
for i:=1 to d1 do
begin
val(st2[i],b[i],y);
end;
for i:=1 to d1-1 do
for j:=i+1 to d1 do
if b[i]<b[j] then
begin
tam:=b[i];
b[i]:=b[j];
b[j]:=tam;
end;
for i:=1 to d1 do
write(b[i]);
readln;
end.