用1元,2元,5元,10元,20元,50元和10元的纸币组成200元,共有多少种情况
来源:互联网 发布:linux 启动apache 编辑:程序博客网 时间:2024/04/19 23:40
http://blog.csdn.net/mathe/archive/2006/08/31/1147756.aspx
http://topic.csdn.net/u/20070202/23/65f55fbf-a37c-4e42-82b9-22ebdd573523.html
人民币有 1元 2元 5元 10元 20元 50 元 100元 这几种币值.
问:给定200元,求出有多少种币值组合方式. 币种可重复,比如,200张1元的算一种方式.
一重循环就可以了。
//result = count(50x+20y+10z+5w+2u <=100)
//assuming 50x+20y+10z=10k,
//0 <=k <=10
//We get 5w+2u <=100-10k, 5x+2y <=k
//So the result is
//sum=0;
//for(k=0;k <=10;k++)
// sum+=count(5w+2u <=100-10k)*count(5x+2y <=k);
根据
http://blog.csdn.net/mathe/archive/2006/08/31/1147756.aspx
的结论,
count(5x+2y <=M)
可以通过公式计算。
对于M%10==0
E=4M/5
S=M*M/20
I+E=S+1+E/2=M*M/20+1+2M/5
对于M%10> 0,我们分别还要计算
5x+2y=10t+h (1 <=h <=9)的情况的解的数目。(t> =1)
对于h为奇数,x必然为奇数,解的数目为不超过[(10t+h)/5]的奇数数目
对于h为偶数,x必然为偶数,解的数目为不超过[(10t+h)/5]的偶数数目。
[(10t+h)/5]为2t或2t+1,所以我们得到对于
h=1,3. 5x+2y=10t+h的解为t个。
对于h=2,4,5,6,7,8,9, 5x+2y=10t+h的解为t+1个。
所以对于h=1,2,...,9我们分别需要额外添加的数据为
h 额外数据
1 t
2 2t+1
3 3t+1
4 4t+2
5 5t+3
6 6t+4
7 7t+5
8 8t+6
9 9t+7
最终程序可以如下:
sum=0;
for(k=0;k <=10;k++){
int M1,M2;
int t,h;
int s2;
M1=100-10*k;
M2=k;
t=M2/10,h=M2%10;
s2=5*t*t+1+4*t;
if(h> =1&&h <=2)s2+=h*t+h-1;
else if(h> =3)s2+=h*t+h-2; //This part is count(5x+2y <=k)
sum+= s2*
(M1*M1/20+1+2*M1/5); //This part is count(5w+2u <=100-10k)
}
return sum;
- 用1元,2元,5元,10元,20元,50元和10元的纸币组成200元,共有多少种情况
- 用1元,2元,5元,10元,20元和50元的纸币组成100元,共有多少种情况
- 用1元,2元,5元,10元,20元和50元的纸币组成100元,共有多少种情况
- 编程实现 1元,2元,5元,100元纸币组成800元,共有多少种情况。?
- 用1元,2元,5元,10元,20元,50元组合成100元
- 将56元转换为1元,2元,5元,10元,20元有多少种方法?
- 用100元换10元、5元和1元的纸币共50张,能换各种纸币多少张。
- 100元 50元 20元 10元 5元 1元 标准尺寸
- 用100元人民币兑换10元,5元,1元的纸币(每种都要有)共50张,计算有多少种兑换方案
- 有1元、5元、10元、20元、50元、100元硬币无数个,问100000元的组合方法有多少个
- 有10元,5元,2元,1元四种面值的人民币,问组成100元钱有多少种组合?
- 计算出N元人民币兑换成1元,2元和5元纸币的所有组合
- 找零钱的张数最少(20元,10元,5元,1元)
- 一个很原始的背包问题。。。就是100元换零钱1元,2元,5元,10元,50元。。
- 用100人民币兑换10元、5元和1元的纸币(每一种都要有)共50张,编程计算共几种兑换方案,每种方案各兑换多少张纸币。
- * 输出由1元,2元,5元纸币组成100元钱的所有方案 1,1,...,1=100 2,2,...,2=100
- C语言求把100元换成20元,10元,5元的纸币.要求每种纸币至少有一张。以及最少张数
- 深入解析之将100元兑换为1元、5元、10元的零钱,请问有多少种兑换方法
- oracle使用select语句复制表
- urllib模块
- Hibernate工作过程
- jBPM4.4开发(七)-----------事件机制
- zigbee中网络地址分配(Network address assignment)
- 用1元,2元,5元,10元,20元,50元和10元的纸币组成200元,共有多少种情况
- Javaweb 编程之SS2H框架整合
- 进程通常定义 线程
- Google文档公式编辑器
- C++中iostream.h和iostream的区别
- (28)PHP中函数的声明(29)PHP中函数的使用
- 一步一步走进块驱动之第一章
- 新浪微博
- duilib对MFC的支持