
Python
Если сумма не делится на 50 - ответ 0.
Всего существует n // 200 + 1 способ (от 0 до n // 200 купюр) использовать купюры по 200.
Для каждой суммы из k купюр по 200 существует (n - k * 200) // 100 + 1 == n // 100 - k * 2 + 1 способов использовать купюры по 100.
Остальное добивается купюрами по 50 без вариантов.
Итого у нас (n // 200 + 1) * (n // 100 + 1) минус арифметическая прогрессия из (n // 200 + 1) элементов со значениями от 0 до (n // 200) * 2, сумма которой равна: (n // 200 + 1) * (n // 200)
Задача по программированию. Помогите пожалуйста)) Скидывайте, пожалуйста, на любых языках, я все пойму!

n = int(input())
print(0 if n % 50 else (n // 200 + 1) * (n // 100 - n // 200 + 1))
Циклами - это скучно.Если сумма не делится на 50 - ответ 0.
Всего существует n // 200 + 1 способ (от 0 до n // 200 купюр) использовать купюры по 200.
Для каждой суммы из k купюр по 200 существует (n - k * 200) // 100 + 1 == n // 100 - k * 2 + 1 способов использовать купюры по 100.
Остальное добивается купюрами по 50 без вариантов.
Итого у нас (n // 200 + 1) * (n // 100 + 1) минус арифметическая прогрессия из (n // 200 + 1) элементов со значениями от 0 до (n // 200) * 2, сумма которой равна: (n // 200 + 1) * (n // 200)
Eleven Minutes
Спасибо большое!
Ну лови. Только ограничение в 1 секунду - это ну такое. Если ввести 100000, то за 1 секунду не получится (чтобы найти 250001 вариантов, понадобится ок. 20 секунд на весьма мощной машине):
public static int CountPossibilities(int Remainder, int CurrentNominal)
{
if (Remainder < 0)
return 0;
if (Remainder == 0)
return 1;
int[] Nominals = new int[] { 50, 100, 200 };
int cnt = 0;
foreach (int n in Nominals)
if (n >= CurrentNominal)
cnt += CountPossibilities(Remainder - n, n);
return cnt;
}
static void Main(string[] args)
{
int n = int.Parse(Console.ReadLine());
Console.WriteLine(CountPossibilities(n, 0));
Console.ReadLine();
}
Eleven Minutes
Благодарю!
Похожие вопросы
- Сделайте пожалуйста на любом языке программирования
- Решить две задачи на питоне. Помогите пожалуйста
- Программирование, помогите пожалуйста! Python
- Помогите пожалуйста исправить мой код на языке питон
- Задача на python Помогите пожалуйста
- Как научиться понимать и решать поставленные задачи в программирование?
- Решение задачи по программированию (желательно питон) Сложность O(квадрат(n))
- Помогите пожалуйста решить задачу по программированию наpython.
- Помогите с задачей по программированию!(
- Задача 10. Игра «Компьютер угадывает число» язык кода Python помогите пожалуйста