Здесь также же петрушка,что и подобное задание, разница лишь в условии. Здесь перемещение должно происходить тогда, когда последняя цифра а[i] равняется всему числу а[0].массив такой:
8, 3, 16, 24, 35, 18, 4, 72, 8, 99, 44
И смена мест происходит не а0 с аi, а аi c a(i+1), т.е а0 никак не меняется.
Кароче, дашло до 18 при а5 и поменялся массив так:
8, 3, 16, 24, 35, 4, 18, 72, 8, 99, 44
Теперь смотрим: а6 тоже заканчивается на 8, значит трансформируем массив опять:
8, 3, 16, 24, 35, 4, 72, 18, 8, 99, 44
И опять он встал на нашем пути. И так будет до конца массива. И это случится действительно 5 раз.
fursov-da
17.03.2020
//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016) var a: array of integer; i, n, m: integer; function simple(x:integer): boolean; var i: integer; begin Simple := false; if x < 2 then exit; if x mod 2 = 0 then exit; i := 3; while i <= sqrt(x) do begin if x mod i = 0 then exit; i +=2; end; Simple := true; end;
begin write('Количество элементов массива :');readln(m); SetLength(a, m); while n <= m - 1 do begin if simple(i) then begin a[n] := i; n +=1; end; i +=1; end; a.println; end.
5
Объяснение:
Здесь также же петрушка,что и подобное задание, разница лишь в условии. Здесь перемещение должно происходить тогда, когда последняя цифра а[i] равняется всему числу а[0].массив такой:
8, 3, 16, 24, 35, 18, 4, 72, 8, 99, 44
И смена мест происходит не а0 с аi, а аi c a(i+1), т.е а0 никак не меняется.
Кароче, дашло до 18 при а5 и поменялся массив так:
8, 3, 16, 24, 35, 4, 18, 72, 8, 99, 44
Теперь смотрим: а6 тоже заканчивается на 8, значит трансформируем массив опять:
8, 3, 16, 24, 35, 4, 72, 18, 8, 99, 44
И опять он встал на нашем пути. И так будет до конца массива. И это случится действительно 5 раз.