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

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

24.05.2023, 19:46. Показов 2407. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача.
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следую-
щими соотношениями:
F(n) = n, если n ≥ 10 000,
F(n) = n/6 + F(n/6 + 2), если n < 10 000 и n делится на 6,
F(n) = n + F(n + 2) , если n < 10 000 и n не делится на 6
Чему равно значение выражения F(264) – F(7)?

1 Решить задачу вручную (аналитически).
2 Решить задачу с помощью рекурсии
3 Решить задачу динамически (с помощью списка или без него)
Миниатюры
Алгоритм вычисления значения функции f(n)  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.05.2023, 19:46
Ответы с готовыми решениями:

Алгоритм вычисления значения функции 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:...

3
2 / 1 / 1
Регистрация: 22.04.2023
Сообщений: 10
04.06.2023, 19:08
1. Решение задачи вручную (аналитически):

Для решения данной задачи вручную, нужно последовательно применить указанные соотношения до тех пор, пока не достигнем базового случая (n ≥ 10 000).

F(264) – F(7) можно вычислить следующим образом:

F(7) = 7 + F(7 + 2) = 7 + F(9)
F(9) = 9/6 + F(9/6 + 2) = 9/6 + F(3)
F(3) = 3 + F(3 + 2) = 3 + F(5)
F(5) = 5 + F(5 + 2) = 5 + F(7)

Таким образом, F(7) = 7 + 9/6 + 3 + 5 + F(7) + F(9) + F(3) + F(5).
Получаем уравнение: F(7) = 24 + F(7) + F(9).
Решаем его: F(7) = 12 + F(9).

Теперь вычислим F(264):

F(264) = 264/6 + F(264/6 + 2) = 264/6 + F(44)
F(44) = 44 + F(44 + 2) = 44 + F(46)
F(46) = 46 + F(46 + 2) = 46 + F(48)
F(48) = 48 + F(48 + 2) = 48 + F(50)

Таким образом, F(264) = 264/6 + 44 + 46 + 48 + F(50).

Теперь вычислим значение выражения F(264) – F(7):

F(264) – F(7) = (264/6 + 44 + 46 + 48 + F(50)) - (12 + F(9))
= (264/6 + 44 + 46 + 48 + F(50)) - (12 + 9/6 + 3 + 5 + F(7) + F(9))
= 264/6 + 44 + 46 + 48 + F(50) - 12 - 9/6 - 3 - 5 - F(7) - F(9)
= 264/6 - 9/6 + 44 + 46 + 48 + F(50) - 12 - 3 - 5 - F(7) - F(9)
= 255/6 + 44 + 46 + 48 + F(50) - 12 - 3 - 5 - F(7) - F(9)
= 42.5 + 44 + 46 + 48 + F(50) - 12 - 3 - 5 - F(7) - F(9)
= 233.5 + F(50) - F(7) - F(9)

Значение выражения F(264) – F(7) равно 233.5 + F(50) - F(7) - F(9). Теперь мы можем перейти к решени

ю задачи с помощью рекурсии или динамического программирования.

2. Решение задачи с помощью рекурсии:

Python
1
2
3
4
5
6
7
8
9
10
def calculate_F(n):
    if n >= 10000:
        return n
    elif n % 6 == 0:
        return n / 6 + calculate_F(n / 6 + 2)
    else:
        return n + calculate_F(n + 2)
 
result = calculate_F(264) - calculate_F(7)
print(result)
В данном решении используется рекурсивная функция `calculate_F`, которая вычисляет значение функции F(n) в соответствии с заданными соотношениями. Результатом вычисления выражения F(264) – F(7) является значение переменной `result`.

3. Решение задачи динамически:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def calculate_F(n):
    if n >= 10000:
        return n
 
    dp = [0] * (n + 1)
    dp[0] = 0
 
    for i in range(1, n + 1):
        if i % 6 == 0:
            dp[i] = i / 6 + dp[i // 6 + 2]
        else:
            dp[i] = i + dp[i + 2]
 
    return dp[n]
 
result = calculate_F(264) - calculate_F(7)
print(result)
В данном решении используется динамическое программирование с использованием списка `dp`. Значение функции F(n) для каждого n вычисляется один раз и сохраняется в списке `dp`. Результатом вычисления выражения F(264) – F(7) является значение переменной `result`.
0
Вирусоборец
 Аватар для thyrex
14442 / 7484 / 1579
Регистрация: 06.09.2009
Сообщений: 27,128
04.06.2023, 23:53
amogus_007, как давно 9 стало делиться нацело на 6, а 48 перестало делиться на 6? Или это Вам ИИ такое решение подсказал?
3
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
05.06.2023, 07:27
vwodzz, а рекурсия это разве не динамическое программирование?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.06.2023, 07:27
Помогаю со студенческими работами здесь

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

Алгоритм вычисления значения функции 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), где целое число, задан следующими соотношениями: F(n) = n, при п≥ 10 000, F(n) = n / 4 + F(n / 4 +...

Написать программу вычисления значения функции
Написать программу вычисления значения функции. Число аргумента ввести с клавиатуры. Провести вычисление для значений x = -5; x= –2;...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru