Try this, its not particularly efficient but it appears to work:
Code:
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
int numCombos = 0;
cout << "Dollars HDollars Quarters Dimes Nickels Pennies" << endl;
cout << "------- -------- -------- ----- ------- -------" << endl;
for (int dollars = 0; dollars <= 1; dollars++) {
for (int halfdollars = 0; halfdollars <= 2; halfdollars++) {
for (int quarters = 0; quarters <=4; quarters++) {
for (int dimes = 0; dimes <= 10; dimes++) {
for (int nickels = 0; nickels <= 20; nickels++) {
for (int pennies = 0; pennies <= 100; pennies++) {
if ((dollars*100 + halfdollars*50 + quarters*25 + dimes*10 + nickels*5 + pennies) == 100) {
numCombos++;
printf("%7d %8d %8d %5d %7d %7d\n", dollars, halfdollars, quarters, dimes, nickels, pennies);
}
}
}
}
}
}
}
cout << endl << "Total Combos: " << numCombos << endl;
}