Все натуральные числа от 1 до n записаны подряд слева направо: . сколько существует вычеркнуть все цифры полученного числа, кроме четырёх, чтобы оставшиеся цифры образовали (без перестановок) число 2013?

XefforyGR XefforyGR    3   10.08.2019 16:30    0

Ответы
subbotkinaira subbotkinaira  04.10.2020 09:42
//То чувство, когда 2 часа работал над оптимизацией, а в итоге работает быстрее вариант, который писал 5 минут.
//PascalABC.NET 3.2 сборка 1318

Var
  i,j,k,m,n,count:integer;
  s,s1:string;
begin
  readln(n);
for i:=1 to n do
  s+=inttostr(i);
for i:=1 to length(s) do
if (s[i]='2') or (s[i]='0') or (s[i]='1') or (s[i]='3') then s1+=s[i];
s:=s1;
for i:=1 to length(s) do
  if  s[i]='2' then
    for j:=i+1 to length(s) do
      if s[j]='0' then
        for k:=j+1 to length(s) do
          if s[k]='1' then
            for m:=k+1 to length(s) do
              if  s[m]='3' then inc(count);
writeln(count);
end.

Пример ввода:
500
Пример вывода:
23760240
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика