Bài 1: một số đgl số kỳ diệu nếu tổng các chữ số của nó bằng 10. Ví dụ số 28,136,... là những số kỳ diệu. Tìm số kỳ diệu nhỏ thứ k. Bộ Test Inp 5;Out 55 Inp 9937;Out 10520110 Inp 20000;Out 100032103 Inp 69937;Out 2001203110 Mình đang cần gấp mong m,n người giúp đỡ

1 câu trả lời

Code chạy pascal(3 cái test cuối số to quá bạn phải chờ một lúc)

var a:array[1..1000000] of int64;
d,k,m:int64;
i,j:longint;
s:string;
function tcs(x:Longint):longint;
begin
tcs:=0;
str(x,s);
for j:=1 to length(s) do
begin
val(s[j],m);
tcs:=tcs+m;
end;
end;
function kt(x1:longint):boolean;
begin
kt:=false;
if tcs(x1)=10 then kt:=true;
end;
begin
write('nhap k:');
read(k);   writeln;
i:=19;
d:=0;
while d<=k do
begin
if kt(i) then
begin
d:=d+1;
a[d]:=i;
end;
i:=i+1;
end;
write(a[k]);
readln;
end.

Câu hỏi trong lớp Xem thêm