Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 10.12.2020
Сообщений: 1

Олимпиадная задача на рекурсивные функции

10.12.2020, 18:43. Показов 1435. Ответов 1

Студворк — интернет-сервис помощи студентам
Написать программу я смог, но вот никак не могу уложиться в 2 секунды при максимально возможном значение переменной.
Вот сама задача:

!!! Ограничение времени - 2 секунды !!!
Ограничение памяти - 64 Мб
Ввод - recursion.in
Вывод - recursion.out

Рассмотрим функцию:
C++
1
2
3
4
5
6
7
void F(int n) {
    cout << n + 1 << endl;
    if(n > 1) {
        F(n - 1);
        F(n - 3);
    }
}
Напишите программу, которая определяет, сколько двоек выводится на экран в результате вызова функции F(n). Ваша программа должна учитывать все цифры '2', выводимые программой, даже если она в составе числа.

Формат ввода: В единственной строке файла recursion.in записано число n (1 <= n <= 50)
Формат вывода: В файл recursion.out следует вывести единственное число - ответ к задаче.

Пример:
Ввод - 4
Вывод - 2
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.12.2020, 18:43
Ответы с готовыми решениями:

Рекурсивные и не рекурсивные функции (вычисление суммы всех натуральных чисел от 1 до n)
Всем привет. Заранее извиняюсь за мб глупые вопросы и навязчивость. Но у меня есть одна просьба. Помогите пожалуйста написать...

Задача на рекурсивные функции
Помогите пожалуйста. Вот задача: Разработайте рекурсивную функцию нахождения суммы элементов данной последовательности {A}_{1} , {A}_{2}...

Задача на рекурсивные функции
Здравствуйте. Помогите решить задачу в Common Lisp. Определить функцию (подмножество х у), определяющую, являются ли элементы списка х...

1
863 / 513 / 215
Регистрация: 19.01.2019
Сообщений: 1,216
10.12.2020, 22:53
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
#include <fstream>
 
uint64_t m[51]{};
 
uint64_t F(int n) {
    if (n < 1) return 0;
    if (m[n]) return m[n];
    int i(n + 1);
    uint64_t mi{};
    do { if (i % 10 == 2) ++mi; } while (i /= 10);
    return m[n] = mi + (n > 1 ? F(n - 1) + F(n - 3) : 0);
}
 
int main()
{
    std::ifstream is("recursion.in");
    std::ofstream os("recursion.out");
 
    int n;
    is >> n;
 
    os << F(n);
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.12.2020, 22:53
Помогаю со студенческими работами здесь

Рекурсивные и примитивно-рекурсивные функции
1. Доказать, что следующие функции примитивно-рекурсивны: x^n; x^y; x!; max {x,y}, min {x,y} 2. Доказать, что функция x-y - рекурсивна....

Олимпиадная задача по программированию. PascalABC.NET. Задача L. Переключение между окнами
Когда пользователь работает в операционной системе Winux, у него часто запущено несколько приложений. Каждое из приложений работает в...

Считалка. Олимпиадная задача по программированию
Ирочка попросила маму придумать новую считалочку. Мама тут же ей &quot;выдала&quot;. Пусть в кругу N человек. Это число N будем изменять...

Олимпиадная задача 10 кл
См фото

Олимпиадная задача
Группа из N (3 &lt;N &lt;200) людей устраивает новогоднюю вечеринку. Каждый человек может приготовить несколько различных видов пищи, измеряемой...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru