有1元2元5元的钞票100张,中国最大面值的钞票205元,2元的钞票钱数比1元多17元,中国最大面值的钞票2元的有几张?

当前访客身份:游客 [
当前位置:
现有面值为元、元和元的钞票(假设每种钞票都足够多),从这些钞票中取出张使其总面值为元,问有多少种取法?输出每种取法中各种面额钞票的张数?
哪位大侠能给个思路吗,谢谢!
共有19个答案
<span class="a_vote_num" id="a_vote_num_
就循环被,两层循环,外层是5元的,内层二元的,一元的一减就行。
#define MONEY 30
//................
int n1, n2, n5;
for(n5 = 0; n5 &= MONEY / 5; n5++)
for(n2 = 0; (n1 = MONEY - n5 * 5 - n2 *2) &= 0; n2++){
printf(&n1= %d, n2= %d, n5= %d\n&, n1, n2, n5);
<span class="a_vote_num" id="a_vote_num_
x+2y+5m=100 x+y+m=30 y+4m=70 y=70-4m x+70-4m+m=30 x-3m=-40 x+2(70-4m)+5m=100 x+140-8m+5m=100 .......
我操,不知道怎么算了。如果蛋疼的话扯一扯!!
<span class="a_vote_num" id="a_vote_num_
线性方程组求解问题
1*x1+2*x2+5*x3=100
x1\x2\x3为整数,求解就行了(如果你学过线性代数的话)
<span class="a_vote_num" id="a_vote_num_
挺喜欢数学的,那个时候很喜欢这样的题目
<span class="a_vote_num" id="a_vote_num_
引用来自“廉西君”的答案就循环被,两层循环,外层是5元的,内层二元的,一元的一减就行。
#define MONEY 30
//................
int n1, n2, n5;
for(n5 = 0; n5 &= MONEY / 5; n5++)
for(n2 = 0; (n1 = MONEY - n5 * 5 - n2 *2) &= 0; n2++){
printf(&n1= %d, n2= %d, n5= %d\n&, n1, n2, n5);
MONEY&应该 == 100
再加一个&总数判断就行了, n1 + n2 + n5 == 30
--- 共有 2 条评论 ---
恩,解决了,谢谢,真是牛人,算法很厉害。
(4年前)&nbsp&
漏了,哈哈,加上就好了。
(4年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
引用来自“mashiguang”的答案x+2y+5m=100 x+y+m=30 y+4m=70 y=70-4m x+70-4m+m=30 x-3m=-40 x+2(70-4m)+5m=100 x+140-8m+5m=100 .......
我操,不知道怎么算了。如果蛋疼的话扯一扯!!x+2y+5m=100
只有这两个是原始方程,其他都是推出来的,这组方程三个未知数两个方程,必然是有一组解,而不是一个解。
可以用解析几何的方法解:第一个方程是一个平面,第二个也是一个平面,,符合这两个平面的解就是二者的相交线,由于变量有取值范围,同时只能是整数,所以,解释有限而且明了的。
<span class="a_vote_num" id="a_vote_num_
你这个题目,简单的方式就是全枚举。但算法需要优化,因此有些不可能的事情,就不用检测了。由此引来上下限的问题。例如,如果30张没有一张5元的。那么最多60元。由此,30张中间必须有5元的。
那么30张中间全部是5元,则是150元,比100还要多。由此得到个上下限的问题。
这就是楼上二层循环的方式。但楼上没考虑上限,也就是5元最多只能17张。但没有考虑下限。5元最少是14张((100-13*5) = 35&17*2,。因此外层循环为
for (n5 = 14 ; n5 & 18 ;n5++)
而这样做还有个问题少考虑了个约束条件。一旦n5确定,则100-n5*5就确定。而2和1的总数也确定。此时100-n5*5 - 2* k2 -1*k1=0只能有一个情况,因为存在& n5 + k1 + k2 = 30。有两个方程。这类方程组有唯一解。
由此,就不存在内层循环问题。
所以总数只可能是4种。
这类问题,独立一个静态的问题并不难。而是一类问题的求解方案。
其实很简单。你看有几个变量,有几个方程。如果变量为4个,只有两个约束方程,那么必然存在二层循环。如果只有一个方程。那么只有一层循环。
你这个问题是,3个变量,两个约束条件,那么按照道理来说就是一层循环就OK。不过你这个题目巧在是1,2的累加。任意总数为N的1,2。他们的组合是个连续数。所以就不存在一层循环内部判断的问题了。例如 总数为5的1,2组合。那么必然是 5 6 7 8 9 10 这6个数。
总结的说。你这个问题,是不需要按照循环进行处理的。
--- 共有 2 条评论 ---
: 我是说,如果是求种类的数量,则不需要循环就可以求出,在写代码之前的算法分析时,就可以划减掉1,2元的组合逻辑判别。
(4年前)&nbsp&
14 * 5 + 14 * 2 + 2 * 1 = 100
15 * 5 + 10 * 2 + 5 * 1 = 100
16 * 5 + 6 * 2 + 8 * 1 = 100
17 * 5 + 2 * 2 + 11 * 1 = 100
好像的后面的推断不准确。
(4年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
中山野鬼的思路是对的,极限边界法则,5元是必须有的,1元和2元则根据5元剩余的空缺自动组合补齐,貌似有很多组合,实则都是既定的,这样就减少了大量的无用的计算。
<span class="a_vote_num" id="a_vote_num_
问题很简单:
总共有30张钞票,分别为5、2、1
5*30 = 150
所以占大部分的绝对是5元
那么另外部分的应该是5的倍数,即1、2的组合是5的倍数
那么设5元的张数是X,1与2的组合数为Y,则有:
X + 3Y = 30
5*(X+Y) = 100
X + 4Y = 30
5*(X+Y) = 100
两组方程,第二组没有解
只有第一组X=15; Y=5
所以15张5元,10张2元,5张1元!
--- 共有 3 条评论 ---
那么设5元的张数是X,1与2的组合数为Y,则有:
X + 3Y = 30
5*(X+Y) = 100
X + 4Y = 30
5*(X+Y) = 100
这个推断是怎么来的。
(4年前)&nbsp&
: 兄台有更好的推断~?麻烦指点一下~
(4年前)&nbsp&
你的推断不太准备。
(4年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
14 * 5 + 14 * 2 + 2 * 1 = 100
15 * 5 + 10 * 2 + 5 * 1 = 100
16 * 5 + 6 * 2 + 8 * 1 = 100
17 * 5 + 2 * 2 + 11 * 1 = 100
--- 共有 2 条评论 ---
: 什么意思?最后一种?5元:17张,2元:2张,1元:11张,共17+2+11 = 30张,17*5 + 2*2 + 11*1 = 100元,还不准确?
(4年前)&nbsp&
最后一种不准确~~
(4年前)&nbsp&
更多开发者职位上
有什么技术问题吗?
寡妇村书记的其它问题有几张5元,2元,1元面值的钞票,买5元钱的物品有多少种付钱方式_百度作业帮
有几张5元,2元,1元面值的钞票,买5元钱的物品有多少种付钱方式
有几张5元,2元,1元面值的钞票,买5元钱的物品有多少种付钱方式
1×5=51×3+2=51+2×2=55×1=5用1元,2元,5元,10元,20元和50元的纸币组成100元,共有多少种情况。该如何处理(2) - 数据结构与算法当前位置:& &&&用1元,2元,5元,10元,20元和50元的纸币组成100元用1元,2元,5元,10元,20元和50元的纸币组成100元,共有多少种情况。该如何处理(2)&&网友分享于:&&浏览:639次#define
7int data[M] = {0}; // set tags& int money_style[7] = {1,2,5,10,20,50,100};int num = 0;void initialization(int n){ &for(int i = 0; i & i++)
//set position as tag 1 &{ data[i] = 1; &}&
&for(i = i & M; i++)
//null position as tag 0 &{ data[i] = 0; &}& }void getData(){&
&int sum = 0; &cout && &cout&&setw(10)&&++ &for(int i = 0; i & M; i++) &{ if (data[i]==1)
//if has tag == 1 get position {
//cout&&i+1;
cout&&setw(6)&&money_style[i];
sum+= money_style[i];
&} &cout &&
cout&&setw(15); &cout &&&& &&sum&&&元&&&}void reSet(int before){ &int count = 0; &for(int i = 0; i & i++)//get number of tag 1&
&{ if(data[i]==1)
count++; &}&
&for(int j = 0; j & j++)
//set tag 1 from start position data[0] &{ data[j] = 1;&
&} &for( ; j & j++)
//others set tag 0 &{ data[j] = 0; &}}void m_select_n(){ &int i = 0; while(1) &{&
int bfind = if(data[i]== 1 && data[i+1] == 0) //get
[][][1][0][][][][] {
data[i] = 0;
data[i+1] =1;
//set [1][0]-& [0][1]
//reset data[] from i position
getData();
//start from i= 0 because
i++ =0 } i++;
//i++ if i =-1 then start form begin i =0 &&
if(i == M-1)
//if i(0,1,2,3,4,5,6) = 6 ,then finished&
&}}int main(){ &for(int i = 1; i & M+1; i++) //from 1 to 7 &{&
initialization(i);&
getData(); m_select_n(); &} &return 0;}我的博客中有具体的算法解释http://umleirk./
------解决方案--------------------运行结果:1
15元……123
------解决方案--------------------不好意思,看错题目了!
------解决方案--------------------整数划分问题,动态规划解决,
------解决方案--------------------背包问题!我喜欢- -bC/C++ code
#include &iostream&
#define N 6
int number_used[N];
//bool is_used[N];
void init()
w[3] = 10;
w[4] = 20;
w[5] = 50;
for (int i = 0; i & N; i++)
number_used[i] = 0;
int test(int start_index, int left_weight)
int ret = 1;
if (left_weight == 0)
for (int i = 0; i & N; i++)
if (number_used[i] & 0) cout && w[i] && &元: &&& number_used[i] &&&张 &;
for (int i = start_ i & N; i++)
if (left_weight &= w[i])
number_used[i]++;
ret += test(i, left_weight - w[i]);
number_used[i]--;
int main()
cout && test(0, 100) &&
system(&pause&);
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有一张100元人民币换成1元,2元,5元,10元的纸币,每种纸币至少一张,问同学们共有几种方法-中国学网-中国IT综合门户网站
> 一张100元人民币换成1元,2元,5元,10元的纸币,每种纸币至少一张,问同学们共有几种方法
一张100元人民币换成1元,2元,5元,10元的纸币,每种纸币至少一张,问同学们共有几种方法
转载 编辑:李强
为了帮助网友解决“一张100元人民币换成1元,2元,5元,”相关的问题,中国学网通过互联网对“一张100元人民币换成1元,2元,5元,”相关的解决方案进行了整理,用户详细问题包括:RT,我想知道:一张100元人民币换成1元,2元,5元,10元的纸币,每种纸币至少一张,问同学们共有几种方法,具体解决方案如下:解决方案1:有16种,(下面以括号里的数字代替个数)
一.当5元有2个时,10元可以有(7个.5个.3个.1个),20元可以有(1个.2个.3个.4个).10元和20元是对应的,即;当10元是7个时,20元是1个.下面一样.
二.当5元有4个时,10元可以有(6个.4个.2个),20元可以有(1个.2个.3个).
三.当5元有6个时,10元可以有(5个.3个.1个),20元可以有(1个.2个.3个).
四.当5元有8个时,10元可以有(4个.2个),20元可以有(1个.2个).
五.当5元有10个时,10元可以有(3个.1个),20元可以有(1个.2个)
六.当5元有12个时,10元有2个,20元有1个.
七.当5元有14个时,10元有1个,20元有1个.通过对数据库的索引,我们还为您准备了:.四.当5元有8个时,10元可以有(4个.2个),20元可以有(1个.2个).五.当5元有10个时,10元可以有(3个.1个),20元可以有(1个.2个)六.当5元有12个时,10元有2个,20元有1个.七.当5元有...===========================================0.5 k = k + 1&#39;调试时说此句有错 哪儿错了? If y5 + y1 + j5 = 100 And i + j + k = 100 Then Text1.Text = Text1.Text & "5元" & i & "张," & "一元&...=========================================== 九张十块的=90+5+2+2+1有N种,不想去想了。===========================================
22 1 种===========================================把一张一百元换成50元的人民币,可得2张,换成10元的人民币可得10张,依次换成5元的可得20张,换成2元的可得50张,换成1元的人民币,可得100张.===========================================五个1元 一个2元+三个1元 两个2元+1个1元===========================================再来先换2元的,这样就可以得到只有1元与2元和只有2元的情况,那么2元的就可以从1张到25张,共25种;再用50个1元来换5元的,就可以有一张5元到10张5元,共10种;现在是25张...===========================================全部1元、2元、5元:各一种2,全部为1元和2元x+2y=120算出58种,以此类推全部1元和5元工22种,全部2元和5元工11种最难的是1元,2元,5元都有的情况x+2y+5z=120分两种情况...===========================================奇数所以1元的数目可以是2、4、6、8……46、48共24种;5,2和5组合,同4,5元的数目可... 2、3……22;5元数目为2时2元数目可以是1、2、3……19;5元数目为3 时2元数目可以是...===========================================然后一块换两块的。然后在换五块的。
55 或者设可换5元x张,2元y张,1元z张。...===========================================
本文欢迎转载,转载请注明:转载自中国学网: []
用户还关注
可能有帮助提问回答都赚钱
> 问题详情
面值分别为1角、2角、5角的纸币共100张,总面值为30元整,其中2角的总面值比1角的总面值多1.6元。问面
悬赏:0&&答案豆&&&&提问人:匿名网友&&&&提问收益:0.00答案豆&&&&&&
面值分别为1角、2角、5角的纸币共100张,总面值为30元整,其中2角的总面值比1角的总面值多1.6元。问面值1角、2角、5角的纸币各多少张?A. 242056B. 282240C. 362440D. 322444请帮忙给出正确答案和分析,谢谢!
发布时间:&&截止时间:
网友回答&(共0条)
回答悬赏问题预计能赚取&5.00元收益
回答悬赏问题预计能赚取&2.00元收益
回答悬赏问题预计能赚取&20.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&22.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&22.00元收益
回答悬赏问题预计能赚取&5.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&5.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&10.00元收益
回答悬赏问题预计能赚取&5.00元收益
回答悬赏问题预计能赚取&5.00元收益
回答悬赏问题预计能赚取&2.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&3.00元收益
你可能喜欢的
[] [] [] [] [] [] [] [] [] [] [] []
请先输入下方的验证码查看最佳答案

我要回帖

更多关于 中国最大面值的钞票 的文章

 

随机推荐