-Поиск по дневнику

Поиск сообщений в rss_forum_sources_ru

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 29.07.2007
Записей:
Комментариев:
Написано: 80


ошибка "Ошибка времени выполнения: StackOverflowException

Воскресенье, 28 Февраля 2021 г. 18:46 + в цитатник
serjufa: здравствуйте.
Выходит ошибка "Ошибка времени выполнения: StackOverflowException: Программа завершена из-за переполнения программного стека". В чем ошибка, не пойму.

Вот задача
(Е. Джобс) Алгоритм вычисления функции F(n), где n – натуральное число, задан следующими соотношениями:
F(n) = n + 1 при n < 3,
F(n) = n + 2*F(n + 2), когда n >= 3 и четно,
F(n) = F(n – 2) + n – 2, когда n >= 3 и нечетно.
Сколько существует чисел n, для которых значение F(n) будет трехзначным.
Ответ известен : 22

Ниже мой проект программы:
//Функция F
function F(n: integer): integer;
begin
if n < 3 then
F := n + 1
else
if ((n mod 2) = 0) then
F := n + 2 * F(n + 2)
else
F := F(n - 2) + n - 2;
end;

var
cikl, kolvo: integer;
//Основная часть программы, где запускаем функцию.
begin
kolvo := 0;
for cikl := 1 to 100 do
begin
if (F(cikl) >= 100) and (F(cikl) <= 999) then
kolvo := kolvo + 1;
end;

WriteLn(cikl);
end.

https://forum.sources.ru/index.php?showtopic=421221&view=findpost&p=3845086

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку