Prime := { Получаем первое слово из последовательности }; while { не конец последовательности (не известно от куда аффтар получает слова ) } do begin Slovo := { Получаем очередное слово последовательности }; if Length(Slovo) <= Length(Prime) then begin CopyPrime := Prime; N := 1; while (N <= Length(Slovo)) and (Pos(Slovo[N], CopyPrime) > 0 do begin Delete(CopyPrime, Pos(Slovo[N], CopyPrime), 1); Inc(N); end; if N > Length(Slovo) then { Slovo можно получить из первого слова } else { нельзя получить Slovo из первого слова } end; end;
kizyaev6651
04.09.2022
//Pascal var a,b, I, maxsumm, max : integer;
function summdel(x:integer):integer; //результат - сумма делителей х var k,sum:integer; begin sum:=0; for k := 1 to x div 2 + 1 do if x mod k = 0 then sum:= sum+k; summdel:=sum; end;
begin writeln('Введите границы a,b '); readln(a,b); maxsumm := 1; max := 1; for i := a to b do begin if summdel(i) > maxsumm then begin maxsumm:= summdel(i); max := i; end; end; writeLn('Максимальная сумма делителей - ', maxsumm, ' число - ',max) end.