Даны купюры 1$,2$,5$,10$, их количество неограниченно. Выдать данную зарплату всеми возможными способами - C#
Формулировка задачи:
Даны купюры 1$,2$,5$,10$, их количество неограниченно. Выдать данную зарплату всеми возможными способами
Решение задачи: «Даны купюры 1$,2$,5$,10$, их количество неограниченно. Выдать данную зарплату всеми возможными способами»
textual
Листинг программы
Console.Write("Зарплата:");
int salary = int.Parse(Console.ReadLine());
for (int i = 0; i <= salary; i++)
{
int sum = i;
int nj = (salary - sum) / 2;
for (int j = 0; j <= nj; j++, sum += 2)
{
int nk = (salary - sum) / 5;
for (int k = 0; k <= nk; k++, sum += 5)
{
int nl = (salary - sum) / 10;
for (int l = 0; l <= nl; l++, sum += 10)
if (salary == sum)
{
if (i > 0) Console.Write("{0}*1$ ", i);
if (j > 0) Console.Write("{0}*2$ ", j);
if (k > 0) Console.Write("{0}*5$ ", k);
if (l > 0) Console.Write("{0}*10$ ", l);
Console.WriteLine();
}
sum -= (nl + 1) * 10;
}
sum -= (nk + 1) * 5;
}
}