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.
1) Var n,m,max,min:integer; Begin write('Введите число: '); readln(n); min:=9; max:=0; while n>0 do begin m:=n mod 10; if m<min then min:=m; if m>max then max:=m; n:=n div 10; end; writeln('Максимальное число: ',max); writeln('Минимальное число: ',min); End. 2) var i,count: integer; n,s:string; begin writeln('Введите число: '); readln(s); writeln('Введите цифру: '); readln(n); for i:=1 to length(s) do if(s[i]=n)then count:=count+1; writeln('Количество раз, когда встречается цифра = ',count); 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.