Главная » Статьи » Задачи с acm.timus.ru » Пакет решений на 15.03.08 |
1014
Const D: array[1..4] of Integer = (2,3,5,7); Var S,T,R: String; H: Char; A,I,J,K,K2,K3,M,N: LongInt; Begin FillChar(R,SizeOf(R),'9'); R[0]:=#255; S:=''; Readln(A); If A=1 then begin Writeln('1'); Halt; End; If A=0 then begin Writeln('10'); Halt; End; K2:=0; K3:=0; For I:=1 to 4 do While (A mod D[I])=0 do begin S:=S+Chr(D[I]+48); If I=1 then Inc(K2); If I=2 then Inc(K3); A:=A div D[I]; End; If A<>1 then begin Writeln('-1'); Halt; End; K:=K2; If K>K3 then K:=K3; For I:=0 to K do begin T:=S; For J:=1 to I do begin Delete(T,Pos('2',T),1); Delete(T,Pos('3',T),1); T:=T+'6'; End; While Pos('33',T)>0 do begin Delete(T,Pos('33',T),2); T:=T+'9'; End; While Pos('222',T)>0 do begin Delete(T,Pos('222',T),3); T:=T+'8'; End; While Pos('22',T)>0 do begin Delete(T,Pos('22',T),2); T:=T+'4'; End; For N:=1 to Length(T) do For M:=2 to Length(T) do If T[M-1]>T[M] then begin H:=T[M-1]; T[M-1]:=T[M]; T[M]:=H; End; If T[0]<R[0] then R:=T; If (T[0]=R[0]) and (T<R) then R:=T; End; Writeln(R); End. | |
Категория: Пакет решений на 15.03.08 | Добавил: solver (15.03.2008) | |
Просмотров: 968 |