John has 5.10 in quarters, dimes and nickels. If he has 31 coins what are possibilities?
This is my code:
#include <stdio.h>
int main() {
    int quarters, dimes, nickels;
    for (quarters = 1; quarters <= 31; quarters++) {
        for (dimes = 1; dimes <= 31; dimes++) {
            for (nickels = 1; nickels <= 31; nickels++) {
                if (quarters + dimes + nickels == 31 && quarters * .25 + dimes * .10 + nickels * .05 == 5.10) {
                    printf("%i quarters, %i dimes, %i nickels \n", quarters, dimes, nickels);
                }
            }
        }
    }
}
Gives the result:
14 quarters, 15 dimes, 2 nickels
15 quarters, 11 dimes, 5 nickels
17 quarters, 3 dimes, 11 nickels
My question is why does this code give 4 solutions?
#include <stdio.h>
int main() {
    int quarters, dimes, nickels;
    for (quarters = 1; quarters <= 31; quarters++) {
        for (dimes = 1; dimes <= 31; dimes++) {
            for (nickels = 1; nickels <= 31; nickels++) {
                if (quarters + dimes + nickels == 31 && quarters * 25 + dimes * 10 + nickels * 5 == 510) {
                    printf("%i quarters, %i dimes, %i nickels \n", quarters, dimes, nickels);
                }
            }
        }
    }
}
Result:
14 quarters, 15 dimes, 2 nickels
15 quarters, 11 dimes, 5 nickels
16 quarters, 7 dimes, 8 nickels
17 quarters, 3 dimes, 11 nickels
 
    