| Цитата | А зачем тебе цикл длинной в
|
Я готовлюсь к чемп. мира. В прошлом году у меня была задача: Дано 2 числа одно(а) от 100 до 10 в 1000 степени другое(в) от 1 до 999 Надо из числа "а" вывести "в" кол-во vax цифр.
В принципе я задачу сделал но у меня её не приняли, она не прошла тест с большими числами. Вот я и подумал как можно использовать такие числа??? А вдруг на этом чемпионате будет подобное.
| Код | program Project2;
{$APPTYPE CONSOLE}
uses SysUtils;
var f : textfile; var a, c, b, q,h :int64; var s:string; var m: array of integer; var m1: array of integer; var i,j:integer; begin assignfile(f,'input.txt'); reset(f); readln(f,a,h); closefile(f);
s:=inttostr(a); c:= length(s); //определение кол-во цифр
setlength(m,c); //определение размерности массива setlength(m1,c); q:=a;
for i:=0 to c-1 do // занесение в массив значений begin m[i]:= q mod 10; q:=q div 10; end;
for i:=0 to c-1 do // занесение в массив значений begin m1[i]:= 10; end;
for j:=0 to c-1 do begin for i:=0 to c-1 do begin if m1[j]>m[i] then begin m1[j]:=m[i]; b:=i; end else m1[j]:=m1[j]; end; m[b]:=10; end;
s:='';
for i:=c-1 downto c-h do begin s:=s+inttostr(m1[i]); end;
assignfile(f,'output.txt'); rewrite(f); writeln(f,s); closefile(f);
end.
|
|