1. Для цикла For есть решение выложенное выше от Srzontmp.
2. Почти ничего не меня получим код для цикла while: var i, n, k: integer; begin i := 2; readln(n); while i <= n div 2 do begin if (n mod i) = 0 then k := i; i:=i+1; end; writeln('наибольший делитель ', n, ' = ', k); end.
3. Аналогично для цикла Repeat: var i, n, k: integer; begin i := 2; readln(n); repeat if (n mod i) = 0 then k := i; i:=i+1; until i> n div 2; writeln('наибольший делитель ', n, ' = ', k); end.
Ligacom
29.07.2020
1. Для цикла For
var x,n,p:longint; i:integer; begin readln (x,n); p:=1; for i := 1 to N do p:=p*x; writeln(x,' в степени ',n,' равно ',p ); end.
2. Для цикла While var x,n,p:longint; i:integer; begin readln (x,n); p:=1; i:=1; while i<=n do begin p:=p*x; i:=i+1; end; writeln(x,' в степени ',n,' равно ',p ); end.
3. Для цикла Repeat
var x,n,p:longint; i:integer; begin readln (x,n); p:=1; i:=1; repeat p:=p*x; i:=i+1; until i>n; writeln(x,' в степени ',n,' равно ',p ); end.
2. Почти ничего не меня получим код для цикла while:
var
i, n, k: integer;
begin
i := 2;
readln(n);
while i <= n div 2 do begin
if (n mod i) = 0 then k := i;
i:=i+1;
end;
writeln('наибольший делитель ', n, ' = ', k);
end.
3. Аналогично для цикла Repeat:
var
i, n, k: integer;
begin
i := 2;
readln(n);
repeat
if (n mod i) = 0 then k := i;
i:=i+1;
until i> n div 2;
writeln('наибольший делитель ', n, ' = ', k);
end.