Вопрос по информатике:
Ввести натуральное число N и вычислить сумму всех чисел Фибоначчи, меньших N. Предусмотрите защиту от ввода отрицательного числа N.
- 19.04.2018 04:03
- Информатика
- remove_red_eye 17570
- thumb_up 19
Ответы и объяснения 1
//Вариант по формуле Бине
Var
n,fibn:real;
i:integer;
begin
readln(n);
if n<=0 then writeln('Не существует чисел Фиббоначи меньше 0')
else
begin
i:=0;
while fibn
fibn:=(power((1+sqrt(5))/2,i)-power((1-sqrt(5))/2,i))/sqrt(5);
inc(i);
end;
writeln((power((1+sqrt(5))/2,i)-power((1-sqrt(5))/2,i))/sqrt(5)-1);
end;
end.
//В лоб
Var
sum,n,buf,fib0,fib1:integer;
function fibb(fib0,fib1:integer):integer;
begin
result:=fib0+fib1;
end;
begin
fib0:=0;
fib1:=1;
readln(n);
if n<=0 then
writeln('Не существует чисел Фиббоначи меньше 0')
else
begin
if fibb(fib0,fib1)>=n then sum:=0 else
begin
while fibb(fib0,fib1)
buf:=fib1;
fib1:=fibb(fib0,fib1);
fib0:=buf;
end;
sum:=fibb(fib1,fibb(fib0,fib1))-1;
end;
writeln(sum);
end;
end.
Пример ввода:
12
Пример вывода:
20
- 20.04.2018 09:57
- thumb_up 27
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.