1. Числа образуют последовательность, для n-го члена которой верны следующие соотношения: Последняя формула позволит ответить на вопрос "Сколько дней понадобиться,чтобы лягушка съела больше 35 комаров за раз", для чего надо решить неравенство: Т.е. это произойдет в шестой день. Хороший проверить работу программы.
var i,an,s,f:integer;
begin s:=0; an:=0; f:=0; for i:=1 to 10 do begin an:=2*an+1; if f=0 then if an>35 then begin Writeln('День ',i,', за раз съедено комаров- ',an); f:=1 end; s:=s+an end; Writeln('За 10 дней съедено комаров: ',s) end.
Результат выполнения программы: День 6, за раз съедено комаров- 63 За 10 дней съедено комаров: 2036
2. Используем алгоритм Евклида.
var a, b: integer; begin Write('Введите два натуральных числа: '); Readln(a,b); if a<>b then repeat if a > b then a := a - b else b := b - a until a=b; Writeln('НОД=',b) end.
Тестовое решение: Введите два натуральных числа: 264 5436 НОД=12
Program long; uses Crt; const n=5; type Vec=array [1..n] of integer; var A, B, C: Vec; i,j,k, Col: integer; Pro: longint; a1, a2: integer; begin ClrScr; Randomize; Col:=1; Pro:=1; WriteLn ('Massiv A:'); for i:=1 to n do begin A[i]:=500+random(2000); Write(A[i]:6); if A[i] >1000 then begin B[Col]:=A[i]; Col:=Col+1; end; end; WriteLn; Col:=Col-1; WriteLn; WriteLn ('Massiv B:'); for i:=1 to Col do WriteLn(B[i]); WriteLn; k:=1; for i:=1 to n do begin a2:=B[i] mod 10; a1:=B[i] div 1000; if sqr(a1)<sqr(a2) then begin C[k]:=B[i]; k:=k+1; end; end; for i:=1 to k-1 do Pro:=Pro*C[i]; WriteLn ('Pro=',Pro); ReadLn; end.