Форум программистов, компьютерный форум CyberForum.ru

составить алгоритм подсчета количества способов, которыми можно разменять рубль медными монетами(достоинством в1,2,3,5 копеек) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Интегралы. BC++ http://www.cyberforum.ru/cpp-beginners/thread648126.html
Помогите написать задачу. Именно борланд С++. Заранее спасибо!!!
C++ Составить процедуру (функцию) формирования массива. 1. Дано натуральное число N. Составить процедуру (функцию) формирования массива, элементами которого являются цифры числа N. Вот одна из задач с чего начать? Добавлено через 48 секунд ткните носом в это место. Добавлено через 3 минуты panicwassano, милый друг помогите куда обратиться? Добавлено через 1 час 8 минут помогите http://www.cyberforum.ru/cpp-beginners/thread648125.html
C++ Задача по двумерным массивам
Помогите пожалуйста решить задачу в С++ "Дан двумерный массив размером m*n, заполненный случайными числами. Определить, есть ли в данном массиве столбец, в котором равное количество положительных и отрицательных элементов."
C++ Блок схема
Помогите нарисовать блок схему для данной программки #include <conio.h> #include <iostream.h> #include <math.h> double G_Result(double t, double s) { return (pow(t, 2) + pow(s, 2)) / (pow(t, 2) + 2 * t * s + 3 * pow(s,2) + 4); } void main(void) {
C++ Не могу найти ошибку в программе рисующей линию из символов http://www.cyberforum.ru/cpp-beginners/thread648074.html
Попытался написать консольную программу, рисующую линию из символов. Число символов вводится пользователем. Вот код программы: /** * @brief программа, которая выводит на экран горизонтальную, вертикальную или * диагональную линию из символов. Число символов, их вид и * тип линии - указывает пользователь. */ #include <iostream>
C++ Задачи с массивами Объясните, как решить. Пример 1. void *v=static_cast<void*>(&mas)// mas - массив это имелось в виду*? не пойму, что дальше делать, вижу, что надо написать функцию, но передать void* понятно, а число кол-во байт, что к чему? я знаю, что такой байты биты знаю как вывести. Пример 2. Создаю 2 массива. Там не написано, но я так понимаю надо инициализировать два массива и в цикле for перебрать 2... подробнее

Показать сообщение отдельно
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
07.09.2012, 21:39     составить алгоритм подсчета количества способов, которыми можно разменять рубль медными монетами(достоинством в1,2,3,5 копеек)
Цитата Сообщение от алишка999 Посмотреть сообщение
а что делать раз задали
Используйте рекурсивную функцию
F(n) = F(n-1) + F(n-2) + F(n-3) + F(n-5)
с начальными условиями
F(0) = 1,
F(x) = 0 при x < 0

получается 117372865913707249 способов. обычной рекурсией его не получить. Только с сохранением уже подсчитанного.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
const long N = 101;
 
long long F(long n)
{
   static long long count[N];
   if (n < 0)
      return 0;
   else if (count[n] != 0)
      return count[n];
   else if (n == 0)
      return (count[n] = 1);
   else
      return (count[n] = F(n-1) + F(n-2) + F(n-3) + F(n-5));
}
 
int main()
{
   std::cout << F(100);
   return 0;
}
 
Текущее время: 21:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru