Mét sè ®îc gäi lµ sè ®èi xøng khi c¸c ch÷ sè cña nã ®èi xøng qua t©m. VÝ dô : 44, 212, 73237 lµ sè ®èi xøng.
LËp ch¬ng tr×nh nhËp vµo mét sè nguyªn d¬ng n (n cã kh«ng qu¸ 100 ch÷ sè), h·y t×m sè ®èi xøng lín h¬n vµ gÇn n nhÊt.
VÝ dô: n = 571, sè ®èi xøng lín h¬n vµ gÇn 571 nhÊt lµ sè 575. n = 4231, sè ®èi xøng lín h¬n vµ gÇn 4231 nhÊt lµ sè 4334.
Gi¶i
Var
i,j,b,c:integer;
s:String;
a:array[1..101] of integer;
BEGIN
Write('Nhap n: '); Readln(s);
for i:=1 to length(s) do val(s[i],a[i],b);
c:=length(s);
for i:=1 to (c div 2) do
begin
if a[i] > a[c-i+1] then a[c-i+1]:=a[i];
if a[i] < a[c-i+1] then
begin
a[c-i]:=a[c-i]+1;
for j:=c-i downto i+1 do
if a[j]=10 then
begin
a[j]:=0;
a[j-1]:=a[j-1]+1;
end;
a[c-i+1]:=a[i];
end;
end;
Write('So dx lon hon gan nhat voi ',s,' la: ');
For i:=1 to c do write(a[i]);
Readln;
END.
No comments:
Post a Comment
Cảm ơn bạn đã nhận xét