公司购物
来源:互联网 发布:淘宝闲鱼违规怎么处理 编辑:程序博客网 时间:2024/05/17 02:48
1、问题描述
公司发了某商店的购物券1000元,限定只能购买店中的m种商品。每种商品的价格分别为m1,m2,…,要求程序列出所有的正好能消费完该购物券的不同购物方法。
程序输入:
第一行是一个整数m,代表可购买的商品的种类数。
接下来是m个整数,每个1行,分别代表这m种商品的单价。
程序输出:
第一行是一个整数,表示共有多少种方案
第二行开始,每种方案占1行,表示对每种商品购买的数量,中间用空格分隔。
例如:
输入:
2
200
300
则应输出:
2
2 2
5 0
输入:
2
500
800
则应输出:
1
2 0
2、代码
/*++++++++++++++++++++++++++++++++公司购物++author:zhouyong2013-5-2 14:01+++++++++++++++++++++++++++++++++++++*/#include <stdio.h>#include <string.h>int v[10];int b[10];//每次查找到满足条件的暂存结果int bc[10][10];//保存最终结果int c;//记录结果数void f(int cur,int m,int n);int main(){int m,i,j;scanf("%d",&m);for(i=0;i<m;i++){scanf("%d",v+i);}f(0,m,1000);printf("%d\n",c);for(i=0;i<c;i++){for(j=0;j<m;j++)printf("%d ",bc[i][j]);printf("\n");}return 0;}void f(int cur,int m,int n){if(cur>=m){if (n==0){memcpy(bc[c++],b,sizeof(b));}}else{f(cur+1,m,n);//不包括v[cur]的情况if(n>=v[cur]){b[cur]++;f(cur,m,n-v[cur]);//包含v[cur]的情况b[cur]--;//不包含v[cur]的情况,递归返回恢复b[cur]的之前的情况。}}}
- 公司购物
- 公司发购物卡
- 很不错的购物公司哦~!
- 日本最大的网络购物公司乐天宣告败北
- 四个社会化电商初创公司 改变在线购物方式
- 日本公司推出第一款MR购物应用,今秋上市
- 美国在线购物公司Overstock完成世界首例区块链股票交易
- 购物
- 购物
- 购物
- 购物
- 公司
- 公司
- 公司
- 公司
- 公司
- 公司
- 公司
- JUnit简述 .
- 电子元件笔记
- Memory(-Leak) and Exception Trace (CRT and COM Leaks)
- 非苹果机安装 Mac OS X 全教程~~~~转
- CDialogBar使用方法
- 公司购物
- 消费电子设备的安全威胁和安全需求
- Windows下安装苹果iPhone开发环境xcode图文教程
- 扩展Log4Net框架,灵活运用log4Net
- 堆内存与栈内存
- socket、http协议
- linux下的关闭进程命令
- JAVA性能调优
- LoadRunner安装过程出现的问题