Một số nguyên dương được gọi là siêu đối xứng nếu tất cả các chữ số của nó giống nhau. Chẳng hạn số 777 hoặc 4444 là các số nguyên dương siêu đối xứng.
Nhập từ bàn phím một số nguyên dương
X.
Hãy tìm và in ra màn hình số nguyên dương Y nhỏ nhất sao cho tổng
X + Y là một số nguyên dương siêu đối xứng.
Ví dụ:
Nhập từ bàn phím |
In ra màn hình |
45 |
10 |
Giải thích: 45 + 10 = 55
Giới hạn: Có 50% test ứng với X ≤ 106;
Có 30% ứng với 106 < X ≤ 109;
Có 20% test ứng với 109 < X ≤ 1016.
CODE THAM KHẢO:
program so_sieu_doi_xung;
uses crt,math;
var X,Y,C: string;
A: Array[1..100] of integer;
i,j,max1,b,S:integer;
tt: longint;
begin
clrscr;
write('Nhap X = '); readln(x);
j:=0; max1:=0;
for i:=1 to length(x) do
begin
inc(j);
val(x[i],b);
a[j]:=b;
max1:=max(max1,A[j]);
end;
S:=0; Y:='';
for i:=1 to j do
begin
S:=(max1-a[i]);
str(s,c);
Y:=Y+c;
end;
writeln(Y);
readln;
end.
Đăng nhận xét