Mam problem z zadaniem, który chcę napisać C#:
Na wejściu bierze jakaś kwotę w złotówkach np. 679 czyli, na wyjściu zwraca minimalna ilość banknotów i bilonu, która pozwoli na wypłacenie tej kwoty czyli dla przykładu: 500+100+50+20+5+2+2 czyli wypluwa 7 oraz 500 - 1,100 - 1, 50 - 1, 20 - 1, 5 - 1, 2 - 2. Wymyśliłem coś takiego, ale jak zwykle cos namieszałem i zastanawiam się na lepszym rozwiązaniem.
public class Program
{
public static void Main()
{
int x = Convert.ToInt32(Console.ReadLine());
int[] currency = new int[]{500,200,100,50,10};
int[] tab = new int[10];
for(int i = 1; x >= currency[i]; x - currency[i] )
{
tab[i]++;
}
for (int i = 0; i < tab.Length; i++)
{
Console.Write(tab[i] + " ");
}
int same = 0;
for(int i = 0; i < tab[i] - 1; i++)
{
if(tab[i] == tab[i + 1])
same++;
Console.Write(tab[i] + " - " ,same );
}
}
}