回 帖 发 新 帖 刷新版面

主题:C++

要将一元钱换成1分、2分和5分的硬币,每种硬币的个数大于0

且为5的倍数,编程计算并输出有多少种换法。

#include <stdio.h>

void main()
{float s,q,p;
int n;
s=0;
n=1;
for(n=1;;n++)
{s=s+1/n;
if(s>8)
q=s;
p=q-1/n;
}
q-8>8-p?printf("s=%f\n",q):printf("s=%f\n",p);

}

编号程序,但是运行不了,求解答有什么问题,什么改?


回复列表 (共2个回复)

沙发

要将一元钱换成1分、2分和5分的硬币,每种硬币的个数大于0,且为5的倍数
------ 那就是求 5a + 2b + 1c = 20 ?
a=1时,2b+1c=15; b可以取[1,7]
a=2时,2b+1c=10; b可以取[1,4]
a=3时,2b+1c=5; b可以取[1,2]
所以是 7+4+2 = 13种

板凳

谢谢咯

我来回复

您尚未登录,请登录后再回复。点此登录或注册