Pranav - 1 year ago 169
C Question

# C - John has 5.10 in quarters, dimes and nickels. If he has 31 coins what are possibilities?

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
``````