Удалить все повторяющиеся результаты массива - PascalABC.NET
Формулировка задачи:
Промаялся уже очень долго, решил написать на форум. Необходимо, чтобы все повторяющиеся результаты массива (ac) удалялись. Вроде задача проста, а решить не могу.
Решение задачи: «Удалить все повторяющиеся результаты массива»
textual
Листинг программы
function SquareRoot(N : Integer) : Integer; begin var R := 1; var Q := 1; var D := 1; while Q < N do begin R += 1; D += 2; Q += D; end; Result := N = Q ? R : 0; end; var U : array [1..1000, 0..2] of Integer; Usize : Integer := 0; function Unical(a, b, c : Integer) : Boolean; begin Result := False; for var i := 1 to Usize do if (U[i, 0] = a) and (U[i, 1] = b) and (U[i, 2] = c) then Exit; Usize += 1; U[Usize, 0] := a; U[Usize, 1] := b; U[Usize, 2] := c; Result := True; end; begin var aMax := ReadLnInteger('Максимальная длина первого катета a='); var bMax := ReadLnInteger('Максимальная длина второго катета b='); for var a := 1 to aMax do for var b := 1 to bMax do begin var c := SquareRoot(a*a + b*b); if c > 0 then if Unical(a, b, c) and Unical(b, a, c) then WriteLnFormat('{0}ВІ + {1}ВІ = {2}ВІ', a, b, c); end; end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д