Урок 15 (Решенная задача 13)
Primary tabs
Урок 15 (Решенная задача 13)
Дан массив длиной N, состоящий из случайно выбранных чисел из диапазона от 0 до k, где 0≤k
Найдите в этом массиве длину самого короткого фрагмента, который содержит все числа от от 0 до k.
var a: array[1..1000] of integer; N, k, i, c : integer; begin N := 15; k := 4; randomize(); for i := 1 to N do begin a[i] := random(k + 1); write(a[i], ' '); if (a[i] <> a[i - 1]) and (c <= k) then c := c + 1; end; writeln('minimalnay dlina ravna ', c); end.
- Log in to post comments
- 2723 reads
vedro-compota
Thu, 10/08/2020 - 19:53
Permalink
едва ли это правильно,
едва ли это правильно, распечатка консоли для разных входов в студию
_____________
матфак вгу и остальная классика =)
Romakip
Fri, 10/09/2020 - 11:42
Permalink
Премьера "Студийной записи"
Для N := 15;
k := 4;
Распечатка: 0 3 3 4 4 4 3 4 3 0 1 3 4 2 1 minimalnay dlina ravna 5
Для N := 20;
k := 3;
Распечатка: 0 3 2 2 0 2 0 1 1 3 0 1 3 0 2 1 1 3 3 1 minimalnay dlina ravna 4
Для N := 30;
k := 4;
Распечатка: 3 4 2 4 3 1 2 0 1 4 3 4 0 2 3 4 4 4 2 0 3 1 4 1 0 0 4 1 4 2 minimalnay dlina ravna 5
math2
Fri, 10/09/2020 - 13:09
Permalink
file.pas(12,31) Warning:
file.pas(12,31) Warning: Variable "c" does not seem to be initialized
В этих условиях значение с будет всегда не больше, чем (k+1).
Поэтому для N=10, k=4 и массива
[2,1,1,1,1,1,0,1,3,4] мы бы никогда не получили результат 10,
так как $10\gt4+1$
Для N=8, k=4 был такой вывод: