Description
输入一个n位正整数,输出由这n个数字组成n位的最小正整数
Input
只有一行且只有一个正整数:n位正整数
(1<=n<=200)
Output
只有一行且只有一个正整数:最小的n位正整数
Sample Input
203123
Sample Output
102233
Source
稍难题
谢谢
Description
输入一个n位正整数,输出由这n个数字组成n位的最小正整数
Input
只有一行且只有一个正整数:n位正整数
(1<=n<=200)
Output
只有一行且只有一个正整数:最小的n位正整数
Sample Input
203123
Sample Output
102233
Source
稍难题
谢谢
var
a:array['0'..'9']of integer;
c:char;
i,j:integer;
begin
while not eof do
begin
read(c);
inc(a[c]);
end;
readln;
for c:='9' downto '0' do
if a[c]<>0 then
begin
for j:=1 to a[c] do
write(c);
end;
writeln;
end.
以字符串方式来处理是最容易的。
最小数:第一个放串中最小的非零数字,剩余的从小到大排列。
最大数:相对简,把所有数字从大到小排列即可