C# задача. В чем ошибка?
Билет на одну поездку в метро стоит 15 рублей, билет на 10 поездок стоит 125 рублей, билет на 60 поездок стоит 440 рублей. Пассажир планирует совершить n поездок. Определите, сколько билетов каждого вида он должен приобрести, чтобы суммарное количество оплаченных поездок было не меньше n, а общая стоимость приобретенных билетов – минимальна. Формат ввода
Дано одно число n - количество поездок. Формат вывода
Выведите три целых числа, равные необходимому количеству билетов на 1, на 10, на 60 поездок. Пример 1
Ввод
1
Вывод
1 0 0
using System;
class MainClass
{ // Metro
public static void Main (string[] args)
{
string s;
s = Console.ReadLine(); // Возвращает переменную типа string
int n = int.Parse(s);
int sixty = n / 60;
n = n - sixty*60;
int ten = n / 10;
n = n - 10*ten;
Console.WriteLine(n.ToString() + " " + ten.ToString() + " " + sixty.ToString());
}
}
В чем ошибка, подскажите, пожалуйста...
Ответы (1 шт):
Вы не до конца поняли условие задачи.
Необходимо купить не менее n билетов за наименьшую сумму.
У вас варианты.
- Если n = 1..8 покупаем n*15
- Если n = 9..10 покупаем 10 за 125
- Если n = 11..18 покупаем 1*125 + (n-10)*15
....
- Если n = 31..34 покупаем 3*125 + (n-30)*15 тут максимум 375+60 = 435
- Если n = 35...60 покупаем 60 за 440
....
Думаю дальше нужно вычитать из произвольного n кратные и смотреть на результат