Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/29: Рейтинг темы: голосов - 29, средняя оценка - 4.69
1 / 1 / 0
Регистрация: 17.01.2023
Сообщений: 43

Алгоритм вычисления значения функции F(n), где n

31.01.2023, 18:21. Показов 10737. Ответов 5

Студворк — интернет-сервис помощи студентам
(Е. Джобс) Алгоритм вычисления значения функции 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) определено и будет трехзначным?

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import sys
from functools import lru_cache
 
sys.setrecursionlimit(5000)
 
@lru_cache(maxsize=None)
def f(n):
    if n < 3:
        return n + 1
    if n >= 3 and n % 2 == 0:
        return n + 2 * f(n + 2)
    if n >= 3 and n % 2 != 0:
        return f(n - 2) + n - 2
 
cnt = 0
for n in range(1, 10**10):
    if len(str(f(n))) == 3:
        cnt += 1
 
print(cnt)
После завершения программы ничего не выходит, ни ответа ни ошибки. Увеличивал вхождение в рекурсию, подключал хэширование, все равно ничего не выходит. Подскажите пожалуйста как решить данную задачу!)
(ответ: 22)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.01.2023, 18:21
Ответы с готовыми решениями:

Алгоритм вычисления значения функции F(n), где n - целое неотрицательное число
Алгоритм вычисления значения функции F(n), где n - целое неотрицательное число, задан следующими соотношениями: F(0) = 0 F(n) =...

Алгоритм вычисления значения функции F(n), где n - натуральное число, задан следующими соотношениями
Алгоритм вычисления значения функции F(n), где n - натуральное число, задан следующими соотношениями: F(1) = 1; F(2) = 2; F(3) = 3; ...

Алгоритм вычисления значения функции f(n)
Задача. Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следую- щими соотношениями: F(n) = n, если n ≥ 10...

5
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
31.01.2023, 18:39
Ternylli, это не так работает.
ну да ладно.
в теле цикла (16ая строка) пропиши try-except, ну и правую границу уменьши, поставь где то 100.

Добавлено через 1 минуту
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
102
123
146
171
198
227
258
291
326
363
402
443
486
531
578
627
678
731
786
843
902
963


Добавлено через 3 минуты
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def f(n):
    if n < 3:
        return n + 1
    if n % 2 == 0:
        return n + 2 * f(n + 2)
    return f(n - 2) + n - 2
 
 
count = 0
for i in range(1, 1000):
    try:
        res = f(i)
        if 100 <= res < 1000:
            print(i, res)
            count += 1
    except:
        pass
 
print('ответ =', count)
2
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,760
31.01.2023, 18:56
Ternylli Для четных n больших 3 решения нет.. т.к. ищется F(n+2), которое тоже четное и т.д.
Python
1
for n in range(1, 1000, 2):
ответ 22

Добавлено через 6 минут
Поправлюсь: не "решения нет", а "функция неопределена"
0
1 / 1 / 0
Регистрация: 17.01.2023
Сообщений: 43
31.01.2023, 20:00  [ТС]
Большое Спасибо вам конечно, но еще бы разобраться, что такое и как работает try-except

Добавлено через 2 минуты
Цитата Сообщение от u235 Посмотреть сообщение
Ternylli Для четных n больших 3 решения нет.. т.к. ищется F(n+2), которое тоже четное и т.д.
Python
1
for n in range(1, 1000, 2):
ответ 22

Добавлено через 6 минут
Поправлюсь: не "решения нет", а "функция неопределена"
Ваше объяснение понятнее для меня лично. Спасибо

Добавлено через 4 минуты
Цитата Сообщение от eaa Посмотреть сообщение
Ternylli, это не так работает.
ну да ладно.
в теле цикла (16ая строка) пропиши try-except, ну и правую границу уменьши, поставь где то 100.

Добавлено через 1 минуту
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
102
123
146
171
198
227
258
291
326
363
402
443
486
531
578
627
678
731
786
843
902
963


Добавлено через 3 минуты
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def f(n):
    if n < 3:
        return n + 1
    if n % 2 == 0:
        return n + 2 * f(n + 2)
    return f(n - 2) + n - 2
 
 
count = 0
for i in range(1, 1000):
    try:
        res = f(i)
        if 100 <= res < 1000:
            print(i, res)
            count += 1
    except:
        pass
 
print('ответ =', count)
Получается, главное - значение функции присваивать к какой-то переменной? res = f(i)
0
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,760
31.01.2023, 20:04
Цитата Сообщение от Ternylli Посмотреть сообщение
начение функции присваивать к какой-то переменной? res = f(i)
Да. Это сделано для того, чтобы дважды не вызывать функцию в 13 и 14 строке.
2
1 / 1 / 0
Регистрация: 17.01.2023
Сообщений: 43
31.01.2023, 20:20  [ТС]
Цитата Сообщение от u235 Посмотреть сообщение
Да. Это сделано для того, чтобы дважды не вызывать функцию в 13 и 14 строке.
Понял, спасибо большое)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.01.2023, 20:20
Помогаю со студенческими работами здесь

Алгоритм вычисления значения функции F(n)
import sys sys.setrecursionlimit(50000) def f(n): if n &gt; 10000: return n - 10000 if 1 &lt;= 1 &lt;= 10000: return f(n + 1) + f(n...

Алгоритм вычисления значения функции
Алгоритм вычисления значения функции F(n), где n— целое неотрицательное число, задан следующими соотношениями: F(0)=0; F(n)=F(n–1)+1,...

Задача на алгоритм вычисления значения функции
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями: F(n) = n, при n ≤ 3 при n &gt; 3:...

Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями: F(0) = 1, F(1) = 1, F(n) =...

Алгоритм вычисления значения функции F(n), где n – целое число, задан следующими соотношениями:
Алгоритм вычисления значения функции F(n), где n – целое число, задан следующими соотношениями: F(n) = n при n &lt; 1 F(n) = n +...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор элементов справочника 1С
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru