用一元人民币兑换成1分、2分和5分硬币,共有多少种不同的兑换方法?求C语言源码(最好加上注释!)

cn_redbird 2004-08-15 03:59:55
用一元人民币兑换成1分、2分和5分硬币,共有多少种不同的兑换方法?求C语言源码(最好加上注释!)
给出代码立即给分!
...全文
4729 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanjingrong 2004-08-15
  • 打赏
  • 举报
回复
思路:这其实是一个三元一次方程的求解问题,设一元由x个1分,y个2分,z个5分组成,则
x+2y+5z=100(100分就是一元),然后用穷举法求出方程的解!

程序:

#include"stdio.h"
#include"math.h"
main()
{int z,y,x;
for(z=1;z<20;z++)
for(y=1;y<50;y++)
for(x=1;x<100;x++)
if(x+2*y+5*z==100)
printf("%d+2*%d+5*%d=100\n",x,y,z);



}
Asan13 2004-08-15
  • 打赏
  • 举报
回复
晚来了!穷举的方法呀。如果全部是一分的,一共可以有100个,所以一分的最多可以有100个。二分和五分的也一样。这样范围确定的,再慢慢找。
积木 2004-08-15
  • 打赏
  • 举报
回复
#include<stdio.h>
int main()
{
int i=0,j=0,k=0;
for(i=0;i<=20;i++)
{
for(j=0;j<=(100-i*5)/2;j++)
{
for(k=0;k<=100-i*5-j*2;k++)
{
if((i*5+j*2+k)==100)
printf("%d*5+%d*2+%d=100\n",i,j,k);
}
}
}
return 0;
}
ma100 2004-08-15
  • 打赏
  • 举报
回复
#include <stdio.h>
int i,j,k;
int n=0;//组合数
for( i=0; i <= 100 ; i++)//1分
for( j=0 ; j<=50 ; j++)//2分
for(k=0 ; k<=20 ; k++)//5分
{
if( i+j*2+k*5 == 100)
n++;
}
printf("%d,",n);
cn_redbird 2004-08-15
  • 打赏
  • 举报
回复
现在我是没有思路阿
我也知道用for循环,可是现在实在没有思路
lhq2019 2004-08-15
  • 打赏
  • 举报
回复
用三重for循环即可啊。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧