Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
maximuslolx
0 / 0 / 1
Регистрация: 30.01.2015
Сообщений: 4
1

Тернарные операции: разменять n, используя 50,10,5,3,1- копеечные монеты, чтобы количество было минимальным

30.01.2015, 01:21. Просмотров 923. Ответов 2
Метки нет (Все метки)

Здравствуйте, занимаюсь сессией и возникла проблема с одним заданием на Тернарные операции , как реализовать это с математической точки зрения я понимаю , но с программной - нет :

Записать тернарную операцию для решения данной задачи. Не использовать условный оператор. Составлять программу не нужно.
Дано n - сумма в копейках. Каким образом следует разменять n, используя 50,10,5,3,1- копеечные монеты, чтобы количество монет было минимальным.


Очень заинтересовала данная задача одновременно своей простотой в понимании и сложностью в реализации)).
Буду очень признателен за помощь.
З.ы. Информацию по Тернарным операциям читал - но как реализовать данную задачу не понял.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2015, 01:21
Ответы с готовыми решениями:

Дана некоторая сумма денег. Разменять эту сумму банкнотами 1, 3, 5, 10, 20 так, чтобы количество банкнот было минимальным.
Дана некоторая сумма денег. Разменять эту сумму банкнотами 1, 3, 5, 10, 20 так, чтобы количество...

Вывести файл на экран, чтобы в каждой строке было не больше 40 символов, и количество строк было минимальным
Дано файл f. Вывести этот файл на экран так что бы в каждой строчке было не больше, чем 40 символов...

Тернарные операции
как посредством тернарной операции провести сравнение m-- > n если сначала требуется проверить...

Тернарные операции GDI
Ребята.нужна помощь.только как можно быстрее. наведите на правильный путь, подскажите метод...

Сколькими способами можно разменять 100 000 рублей на монеты 1, 2, 5 рублей?
Задача такова: сколькими способами можно разменять 100 000 рублей на монеты 1 2 5 рублей,то есть ...

2
schdub
Эксперт С++
3044 / 1386 / 421
Регистрация: 19.01.2009
Сообщений: 3,729
Завершенные тесты: 1
30.01.2015, 22:23 2
Лучший ответ Сообщение было отмечено maximuslolx как решение

Решение

maximuslolx,
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdlib.h>
#include <stdio.h>
 
int main(int argc, char **argv) {
    int n = atoi(argv[1]), coins = 0, c;
    while (n > 0) {
        c = (n >= 50 ? 50 : (n >= 10 ? 10 : (n >= 5 ? 5 : (n >= 3 ? 3 : 1))));
        n -= c;
        coins += 1;
        printf("%d) %d\n", coins, c);
    }
    printf("total coins = %d\n", coins);
    return EXIT_SUCCESS;
}
Test run:
Код
$ ./a.out 999
1) 50
2) 50
3) 50
4) 50
5) 50
6) 50
7) 50
8) 50
9) 50
10) 50
11) 50
12) 50
13) 50
14) 50
15) 50
16) 50
17) 50
18) 50
19) 50
20) 10
21) 10
22) 10
23) 10
24) 5
25) 3
26) 1
total coins = 26
1
maximuslolx
0 / 0 / 1
Регистрация: 30.01.2015
Сообщений: 4
30.01.2015, 22:48  [ТС] 3
Большое вам спасибо ) За данное решение. Теперь я минимально разобрался в принципе работа тернарной операции )
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.01.2015, 22:48

Найти точку на плоскости, чтобы максимально расстояние от нее до заданных прямых было минимальным
Всем привет, есть задача, которая в общем смысле формулируется так : у нас есть N прямых от 2 до...

Определить, в каком доме необходимо установить АТС, чтобы расстояние до всех телефонов было минимальным
В поселке N домов, расположенных вдоль дороги с одной стороны на равных расстояниях. В деревне...

Каким должно быть значение р, чтобы значение суммарной задержки было минимальным?
Задачка по сетям. Как решать? Можно какие нибудь формулы получить? Решать мне не обязательно. ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru