yorestov
?>

Ниже на пяти языках программирования записан рекурсивный алгоритм f. бейсик: function f(n) if n > 2 then f = f(n - 1) + f(n-2) else f = n end if end function python: def f(n): if n > 2: return f(n-1)+ f(n-2) else: return n паскаль: function f(n: integer): integer; begin if n > 2 then f : = f(n - 1) + f(n - 2) else f : = n; end; алгоритмический язык: алг цел f(цел n) нач если n > 2 то знач : = f(n - 1)+f(n - 2) иначе знач : = n все кон c: int f(int n) { if (n > 2) return f(n-1) + f(n-2); else return n; } чему будет равно значение, вычисленное алгоритмом при выполнении вызова f(6)? с подробным описанием алгоритма решения .

Информатика

Ответы

Dmitrievna-Dmitrii980

Python:

def F(n):

   if n > 2:

       return F(n-1)+ F(n-2)

   else:

       return n

если n = 1 или n = 2, то F(n) = 1

F(1)=1

F(2)=1

F(3)=F(2)+F(1)=1+1=2

F(4)=F(3)+F(2)=2+1=3

F(5)=F(4)+F(3)=3+2=5

F(6)=F(5)+F(4)=5+3=8

ответ: F(6)=8

myataplatinumb348

Проверено на Паскаль АВС

Program TheStorm23;
uses crt;
var
  sum,n,i,r:integer;
begin
  writeln('*** alphaues is thinking... ***');
  writeln('***          OK             ***');
  sum:=0;
  writeln('Введите количество чисел, не превышающее 100');
  write('N = ');
  readln(n);
  if n>100 then
      writeln('Это слишком много!')
    else
      begin
        writeln('Вводите натуральные числа, не превышающие 300');
        for i:=1 to n do
          begin
            write('Ввод: ');
            readln (r);
            if r >300 then
                begin
                  writeln ('вы ввели слишком большое число');
                  writeln ('Это число не будет учтено');
                end
              else
                if r mod 6 = 0 then
                  sum:=sum+r;
          end;
        writeln();
        writeln('Сумма чисел, кратных 6, равна ',sum);
      end;
end.

Merkuloff78

--- Python 3.8.3 ---

def ReadSeq(SeqLen: int, SeqType = int):

   '''

   Возвращает последовательность элементов в указанном типе, считанных с клавиатуры, заданной длины.

   '''

   try:

       for _ in range(SeqLen):

           yield SeqType(input())

   except TypeError:

       raise RuntimeError(f'Unsupported type: {CastType}')

def main():

   n = int(input())

   Numbers = ReadSeq(n)

   print(sum(filter(lambda i: i % 6 == 0, Numbers)))

       

if __name__ == "__main__":

   main()

Программа эффективна по памяти, т.к в любой момент её работы с памяти храниться только один элемент последовательности

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Ниже на пяти языках программирования записан рекурсивный алгоритм f. бейсик: function f(n) if n > 2 then f = f(n - 1) + f(n-2) else f = n end if end function python: def f(n): if n > 2: return f(n-1)+ f(n-2) else: return n паскаль: function f(n: integer): integer; begin if n > 2 then f : = f(n - 1) + f(n - 2) else f : = n; end; алгоритмический язык: алг цел f(цел n) нач если n > 2 то знач : = f(n - 1)+f(n - 2) иначе знач : = n все кон c: int f(int n) { if (n > 2) return f(n-1) + f(n-2); else return n; } чему будет равно значение, вычисленное алгоритмом при выполнении вызова f(6)? с подробным описанием алгоритма решения .
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

titancore
mstrshulz
petrovichvit2933
valya-7777
Мирзоев Денис
Zhamynchiev
Reutskii-Kirilovskii1625
Анастасия1097
YaroslavSerganYS5
u-bhank
Дарья16
Taniagrachev
pechatlogo4
viz-art-pnz1664
Morozova-Starikov