Среди чисел последовательности 1,2,3,4,5,8,13 ...(каждый следующий член последовательности равен сумме двух предыдущих), найдите количество чисел до первого шестизначного
Заранее благодарю за любую помощь
Другие языки программирования и технологии
Нужно написать программу в Паскале

Если начинаем с 1, 2, то у тебя последовательность без элементов F0 и F1.
Значение элемента с номером n в стандартной последовательности Фибоначчи равно целому числу, ближайшему к
(1 + sqrt(5)) ** n / sqrt(5), где ** - возведение в степень.
100000 = ((1 + sqrt(5)) / 2) ** n / sqrt(5)
((1 + sqrt(5)) / 2) ** n = 100000 * sqrt(5)
ln(1 + sqrt(5)) ** n) = ln(100000 * sqrt(5))
n * ln((1 + sqrt(5)) / 2) = ln(100000 * sqrt(5))
n = ln(100000 * sqrt(5)) / ln((1 + sqrt(5)) / 2)
Чтобы получить кол-во числе в твоей последовательности ДО 100000, надо округлить n вниз и отнять 1.
Вся программа:
begin writeln(trunc(ln(100000 * sqrt(5)) / ln((1 + sqrt(5)) / 2)) - 1) end.
Значение элемента с номером n в стандартной последовательности Фибоначчи равно целому числу, ближайшему к
(1 + sqrt(5)) ** n / sqrt(5), где ** - возведение в степень.
100000 = ((1 + sqrt(5)) / 2) ** n / sqrt(5)
((1 + sqrt(5)) / 2) ** n = 100000 * sqrt(5)
ln(1 + sqrt(5)) ** n) = ln(100000 * sqrt(5))
n * ln((1 + sqrt(5)) / 2) = ln(100000 * sqrt(5))
n = ln(100000 * sqrt(5)) / ln((1 + sqrt(5)) / 2)
Чтобы получить кол-во числе в твоей последовательности ДО 100000, надо округлить n вниз и отнять 1.
Вся программа:
begin writeln(trunc(ln(100000 * sqrt(5)) / ln((1 + sqrt(5)) / 2)) - 1) end.
1,2,3,4,5,8,13
1+2=3 — ok
2+3≠4 — error
3+4≠5 — error
4+5≠8 — error
5+8=13 — ok
1+2=3 — ok
2+3≠4 — error
3+4≠5 — error
4+5≠8 — error
5+8=13 — ok
program row; var f:array[1..100] of longint; k,kol:integer; begin kol:=2; f[1]:=1; f[2]:=2; for k:=3 to 100 do begin f[k]:=f[k-2]+f[k-1]; if f[k]>99999 then break else kol:=kol+1 end; writeln(kol) end.
Но это тóлько до пéрвого шестизнáчного числá, но не до пéрвого шестизнáчного числá включительно!
(25-ый член ряда 75025, это и есть итóговое значéние перемéнной f[kol], a kol=25. 26-ой член 121393 - это пéрвое шестизнáчное числó и в счёт не включено!)
Но это тóлько до пéрвого шестизнáчного числá, но не до пéрвого шестизнáчного числá включительно!
(25-ый член ряда 75025, это и есть итóговое значéние перемéнной f[kol], a kol=25. 26-ой член 121393 - это пéрвое шестизнáчное числó и в счёт не включено!)
Новожилов Виталий
Исправила ошибку, благодарю)
Похожие вопросы
- Нужно написать программы в Паскале! Массивы! Срочно! Помогите!
- Нужно написать программу на паскале
- Написать программу в Паскале для построения графика функций. К программе желательно составить алгоритм.
- Как написать программу в паскале
- Помогите с информатикой!!! Кто понимает? Нужно преобразовать массив. (написать программу на паскале).
- помогите плиз написать программу на паскале...тема массивы...нужно использовать поиск деления пополам!!!нужно срочно!
- Помогите написать программу на паскале
- плизз! поомогите написать программу на паскале!
- Помогите пожалуйста написать программу в Паскале )) Написать программу для вычисления суммы в массиве из 10 элементов
- Нужно написать программу на СИ++, которая переводит с паскаля на СИ++