Аватар для Джейкоб Фрай
4 / 4 / 5
Регистрация: 22.12.2015
Сообщений: 18
1

Получить все способы выплаты заданной суммы с помощью монет определенного достоинства

21.02.2016, 22:30. Показов 3086. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Некоторая сумма представлена в натуральным числом N. Получить все способы выплаты этой суммы с помощью монет достоинством a1, а2, ..., am.
0
Лучшие ответы (1)
21.02.2016, 22:30
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.02.2016, 22:30
Ответы с готовыми решениями:

Определить все способы выплаты определенной суммы с помощью монет заданного достоинства
Выполнить задания путем перебора значений. Ввести с клавиатуры целое число n. Определить все способы выплаты суммы n с помощью монет...

Способы выплаты суммы n с помощью монет достоинством 1,2,5,10 рублей
нужно составить програлу в делфи. в консольном окне. получить все способы выплаты суммы n с помощью монет достоинством 1,2,5,10...

Все способы выплаты суммы n с помощью купюр достоинством 1, 5, 10, 20 и 100 долларов
Здравствуйте помогите пожалуйста решить следующую задачу. Ввести с клавиатуры натуральное число n. Определить все способы выплаты суммы n...

1
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8571 / 4418 / 1656
Регистрация: 01.02.2015
Сообщений: 13,722
Записей в блоге: 9
22.02.2016, 11:35 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Это обычное Диофантово уравнение. А для перебора вместо цикла можно использовать рекурсию. Я кому-то решал подобное. Что не так - переделай самостоятельно, ну или на этом/другом форуме создай тему "Есть код, нужно переделать"
Pascal
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
program test;
 
const
  M = 5;
type
  TArray = array [1..M] of integer;
 
  procedure ShowSolve(EtSum, n: integer; const a, x: TArray);
  var
    sum, i: integer;
  begin
    sum := 0;
    for i := 1 to n do
    begin
      sum := sum + a[i] * x[i];
      Write(a[i], '*', x[i]);
      if i <> n then
        Write('+');
    end;
    Write('=', sum);
    if sum = EtSum then
      writeln(' - Ok')
    else
    begin
      writeln(' - wrong solution!');
      halt;
    end;
  end;
 
  {функция решает диофантово уравнение и возвращает количество решений}
  function Solve(n: integer; const a: TArray; EtSum: integer): QWord;
  var
    Count: QWord;
    x: TArray;
 
    function f(i, sum: integer): integer;
    begin
      if sum < 0 then
        exit;
      if i = 0 then
        exit;
      if i = 1 then
      begin
        if sum mod a[1] = 0 then
        begin
          Inc(Count);
          x[1] := sum div a[1];
          Write('Solution #', Count: 8, ' is: ');
          ShowSolve(EtSum, n, a, x);
        end;
      end
      else
      begin
        x[i] := -1;
        repeat
          Inc(x[i]);
          if sum - a[i] * x[i] <= 0 then
            break;
          f(i - 1, sum - a[i] * x[i]);
        until False;
      end;
    end;
 
  begin
    Count := 0;
    f(n, EtSum);
    Solve := Count;
  end;
 
var
  DenominationCoin: TArray = (1, 2, 5, 10, 15);
var
  sum: integer;
  Count: QWord;
begin
  sum := 121;
  writeln;
  Count := Solve(M, DenominationCoin, sum);
  Write('There is ', Count, ' variants of a solutions.');
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.02.2016, 11:35
Помогаю со студенческими работами здесь

Циклы: определить все способы выплаты суммы n с помощью купюр достоинством 1, 5, 10, 20 и 100 условных единиц
Ввести с клавиатуры натуральное число n. Определить все способы выплаты суммы n с помощью купюр достоинством 1, 5, 10, 20 и 100 условных...

Определить число способов выплаты суммы n руб. с помощью монет достоинством 1, 2, 5 рублей
22. Дано натуральное число n(n&lt;100). a) Определить число способов выплаты суммы n руб. с помощью монет достоинством 1,2,5 рублей и...

Получите все комбинации выплаты суммы п с использованием монет
Доброго всем дня, имеется задача: Дано натуральное число n &lt; 99. Получите все комбинации выплаты суммы n с помощью монет достоинством 1,...

Напечатать достоинство всех монет, необходимых для получения заданной суммы (вывести все варианты)
Написать программу, которая считывает денежную сумму напечатать достоинство всех монет, необходимых для получения этой суммы а так же...

Получить все способы формирования n с помощью чисел 1, 5, 10 и 20
Дано натуральное число n≤99. Получить все способы формирования n с помощью чисел 1, 5, 10 и 20.


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Использование кэша Laravel - полный гайд
bytestream 18.02.2025
Кэширование - один из наиболее эффективных способов повышения производительности веб-приложений. В современном мире, где скорость загрузки страниц напрямую влияет на удержание пользователей и. . .
Создаем REST API в Laravel с аутентификацией через Passport
bytestream 18.02.2025
Разработка современных веб-приложений все чаще требует создания надежного и хорошо структурированного API. REST API стал стандартом де-факто для построения взаимодействия между клиентской и серверной. . .
Пайплайны в Laravel - полный гайд
bytestream 18.02.2025
Разработка современных веб-приложений часто требует обработки сложных процессов, состоящих из множества последовательных шагов. Например, при создании системы комментариев может потребоваться. . .
Как правильно использовать @required в Symfony
bytestream 18.02.2025
При разработке приложений на Symfony мы часто сталкиваемся с необходимостью внедрения зависимостей. Фреймворк предоставляет несколько способов управления этим процессом, и одним из таких инструментов. . .
Система безопасности в Laravel: возможности и примеры
Wired 18.02.2025
Каждый день появляются новые виды атак и уязвимостей, которые могут поставить под угрозу конфиденциальные данные пользователей и функционирование всей системы. В этом контексте выбор надежного. . .
Давайте сравним Django и Laravel
Wired 18.02.2025
Django и Laravel - два мощных инструмента, которые часто сравнивают между собой. Оба фреймворка предлагают разработчикам богатый набор возможностей для создания масштабируемых веб-приложений, но. . .
Laravel или React - что лучше?
Wired 18.02.2025
В разработке веб выбор правильного инструмента часто определяет успех всего проекта. Особенно интересным представляется сравнение Laravel и React - двух популярных технологий, которые часто. . .
Laravel 11: новые возможности, гайд по обновлению
Wired 18.02.2025
Laravel 11 - это новая масштабная версия одного из самых популярных PHP-фреймворков, выпущенная в марте 2024 года. Эта версия продолжает традицию внедрения передовых технологий и методологий. . .
Миграции в Laravel
Wired 18.02.2025
Разработка веб-приложений на Laravel неразрывно связана с управлением структурой базы данных. При работе над проектом часто возникает необходимость вносить изменения в схему базы данных - добавлять. . .
Аутентификация в Laravel
Wired 18.02.2025
В современном мире веб-разработки безопасность пользовательских данных становится критически важным аспектом любого приложения. Laravel, как один из самых популярных PHP-фреймворков, предоставляет. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru