Через паскаль! (1 )в первый день лягушка съела 1 комара,каждый последующий день она съедает в 2 раза больше и еще 1 комара 1)сколько комаров она съест через 10 дней? 2)сколько дней понадобиться,чтобы лягушка съела больше 35 комаров за раз? (2 ) repeat : найти наибольший общий делитель двух заданных чисел а и b

Соря11 Соря11    3   25.06.2019 10:40    1

Ответы
maksimprikhodko maksimprikhodko  02.10.2020 11:04
1. Числа образуют последовательность, для n-го члена которой верны следующие соотношения:
a_n=2\cdot a_{n-1}+1, \ n \in \mathbb R \\ a_n=2^n-1
Последняя формула позволит ответить на вопрос "Сколько дней понадобиться,чтобы лягушка съела больше 35 комаров за раз", для чего надо решить неравенство:
2^n-135; \ 2^n36 \to n=6 \quad (2^5=32, 2^6=64)
Т.е. это произойдет в шестой день. Хороший проверить работу программы.

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
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика