Вопрос задан 28.07.2023 в 04:17. Предмет Информатика. Спрашивает Асанов Никита.

На паскале!! Числа Фибоначчи определяются формулами: f0=f1=1, fn=fn-1+fn-2; при n=2,3… Найти f -

первое число Фибоначчи, большее m(m>1). и ещё это Вычислить - сумму всех чисел Фибоначчи, которые превосходят 1000.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Черноскулова Полина.
Program NoName;

var
a:array [1..3000] of integer;
b,c,i,n:integer;
Begin
WriteLn('введіть кількість чисел');
ReadLn( n );
a[1]:=1;
a[2]:=1;
b:=0;
WriteLn('Список ',n,' чисел Фібоначі');
WriteLn(a[1]);
WriteLn(a[2]);
for i:= 3 to n do
begin
a[i]:=a[i-2]+a[i-1];
b:=b+a[i];
WriteLn(a[i]);
end;
b:=b+a[1]+a[2];
WriteLn('Сума усіх чисел Фібоначі становить ',b);
end.
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для нахождения первого числа Фибоначчи, большего заданного числа m, нужно последовательно вычислить числа Фибоначчи, пока не получим значение, которое превышает m. Затем для вычисления суммы всех чисел Фибоначчи, превосходящих 1000, также будем последовательно вычислять числа Фибоначчи и складывать их, пока не достигнем значения больше 1000.

Для решения этой задачи на Pascal можно использовать следующий код:

pascal
program Fibonacci; function FibonacciNumber(n: Integer): Integer; begin if (n = 0) or (n = 1) then Result := 1 else Result := FibonacciNumber(n - 1) + FibonacciNumber(n - 2); end; var m, f, sum, i: Integer; begin // Вводим значение m Write('Введите число m (>1): '); ReadLn(m); // Находим первое число Фибоначчи, большее m f := 0; i := 0; while f <= m do begin f := FibonacciNumber(i); Inc(i); end; WriteLn('Первое число Фибоначчи, большее m: ', f); // Вычисляем сумму чисел Фибоначчи, превосходящих 1000 sum := 0; f := 0; i := 0; while f <= 1000 do begin f := FibonacciNumber(i); if f > 1000 then sum := sum + f; Inc(i); end; WriteLn('Сумма чисел Фибоначчи, превосходящих 1000: ', sum); end.

Обратите внимание, что данное решение использует рекурсивную функцию FibonacciNumber, что неэффективно для больших значений n. Однако, оно будет работать хорошо для небольших значений m и чисел Фибоначчи, не превосходящих 1000. Если требуется более эффективное решение для больших чисел Фибоначчи, можно использовать итеративный метод или сохранять промежуточные значения в массиве.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос