Cevap :
#include <bits/stdc++.h>
/*Vektörün ilk indisi 10TL adetini,
ikinci indisi 20TL adetini,
üçüncü indisi 50TL adetini,
ve devam eden indislerde 100 ve varsa 200TL miktarını göstermektedir.
*/
std::vector<int> count;
std::string cash_type[6] = {" ","10TL","20TL","50TL","100TL","200TL"};
static int cash=0;
int main(int argc, char* argv[]) {
//Para girişini yapıyoruz.
std::cout << "Mevcut miktari girin: ";
std::cin >> cash;
//assertion kullanıyoruz ki girilen para 10'un katı olsun.
assert(cash%10==0);
//Hesaplama işlemi
for(int i=5;i>0;i--) {
//İlk 5 terim için 10,20,50,100,200'ü veren genel dizi terimi
long int g_term = ((10*pow(i,4))-(100*pow(i,3))+(430*pow(i,2))-(660*i)+400)/(8);
count.push_back(cash/g_term);
cash -= (cash/g_term)*g_term;
}
std::cout << "\nGirilen paranin icerisinde:\n---------------------------\n";
for(int i=5;i>0;i--) {
std::cout << count.at(5-i) << " adet " << cash_type[i] << " vardir.\n";
}
return 0;
}