• Предмет: Информатика
  • Автор: ulykpanayaulym
  • Вопрос задан 4 месяца назад

Билет на одну поездку в автобусе стоит 90 тенге, билет на 10 поездок стоит 850 тенге, билет на 60 поездок стоит 5000 тенге. Пассажир планирует совершить N поездок. Определите, сколько билетов каждого вида он должен приобрести, чтобы суммарное количество оплаченных поездок было не меньше N, а общая стоимость приобретенных билетов - минимальна.


Формат входных данных:


На входе программа принимает одно число N - количество поездок.


Формат выходных данных:


На экран выводится три целых числа, равные необходимому количеству билетов на 1, на 10 и на 60 поездок.

на экран должно вывести :

3

1

0

программу нужно решить с помощью if (c++) пожалуйста помогите

Приложения:

Ответы

Ответ дал: plintys68
0
Для решения задачи можно использовать цикл while и перебирать все возможные варианты покупки билетов, подсчитывая при каждом варианте стоимость и количество поездок, которые покрываются билетами. Но для данной задачи можно также использовать более простой и эффективный алгоритм.

Количество билетов на 60 поездок всегда минимально, поэтому пассажир должен приобрести все возможные билеты на 60 поездок. Затем необходимо определить, сколько дополнительных поездок осталось совершить, и купить соответствующее количество билетов на 10 поездок. Если после этого остались еще неоплаченные поездки, то нужно купить соответствующее количество билетов на 1 поездку.

Ниже приведен код на языке C++ для решения данной задачи с использованием if-конструкции:



#include
using namespace std;

int main() {
int n;
cin >> n;
int n60 = n / 60;
int n10 = (n - n60 * 60) / 10;
int n1 = n - n60 * 60 - n10 * 10;
if (n1 > 0) {
n10++;
}
if (n10 > 6) {
n60++;
n10 = 0;
}
cout << n1 << endl;
cout << n10 << endl;
cout << n60 << endl;
return 0;
}

На вход программе подается количество поездок N. Затем происходит вычисление необходимого количества билетов на 60, 10 и 1 поездок и вывод результатов на экран.

Ответ дал: betman134
0

#include <iostream>

using namespace std;

int main()

{

int N;

int ten = 0;

int sixty = 0;

cin >> N;

if (N > 60) {

 sixty = N / 60;

 N -= sixty * 60;

};

if (N > 10) {

 ten = N / 10;

 N -= ten * 10;

};

cout << N << endl << ten << endl << sixty << endl;

return 0;

}

Пример работы кода на фото

Приложения:
Вас заинтересует