2 qq 23566031 qq_23566031 于 2014.11.19 22:56 提问

c语言程序题来个大神帮忙下

用一张百元纸币兑换一元、二元和五元的纸币,要求兑换后纸币的总数为50 张,问共有多少种换法? 每种换法中各面值的纸币分别为多少张?求大神给个c的程序,急用 strong text

6个回答

caozhy
caozhy   Ds   Rxr 2014.11.20 10:34

穷举就可以了
for (int i = 0; i <= 100; i++)
for (int j = 0; j <= 50; j++)
for (int k = 0; j <= 20; j++)
{
if (i + j + k == 50 && i + j * 2 + k * 5 == 100) cout << i << j << k;
}

save4me
save4me   Ds   Rxr 2014.11.20 09:46

这是百钱百鸡的问题,代码参考 百钱买百鸡问题(C语言版)

91program
91program   Ds   Rxr 2014.11.20 10:07

说简单一些,就是要求二元和五元的和小于 100 时的张数,小于等于 50 就行了。

dongtinghong
dongtinghong   2014.11.20 10:32

int x, y, z, findNum=0;
//t=x+2*y+5*z, let t=100, find x,y and z.

for ( x = 0; x < 100; x++)
{
for ( y = 0; y < 100; y++)
{
for ( z = 0; z < 100; z++)
{
if ( 100==(x+2*y+5*z) )
{
findNum++;
printf("%d: x=%d y=%d z=%d\n", findNum, x, y, z);
}
}
}
}

yangyuyu77584
yangyuyu77584   2014.11.20 12:09

这个题就是用穷举法。C语言中一般用循环来做。

save4me
save4me   Ds   Rxr 2014.12.18 10:27

参考白钱百鸡的算吗,解决你的问题了吗?
上面的答案有帮助吗?如果还有问题,请提出来,如果对答案满意,请顶一下,并标记为采纳答案,谢谢!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!