早教吧作业答案频道 -->其他-->
程公司发了某商店的购物券1000元,限定只能购买店中的m种商品。每种商品的价格分别为m1,m2,…,要求程序列出所有的正好能消费完该购物券的不同购物方法。序输入:第一行是一个整数m,
题目详情
程公司发了某商店的购物券1000元,限定只能购买店中的m种商品。每种商品的价格分别为m1,m2,…,要求程序列出所有的正好能消费完该购物券的不同购物方法。
序输入:
第一行是一个整数m,代表可购买的商品的种类数。
接下来是m个整数,每个1行,分别代表这m种商品的单价。
程序输出:
第一行是一个整数,表示共有多少种方案
第二行开始,每种方案占1行,表示对每种商品购买的数量,中间用空格分隔。
例如:
输入:
2
200
300
则应输出:
2
序输入:
第一行是一个整数m,代表可购买的商品的种类数。
接下来是m个整数,每个1行,分别代表这m种商品的单价。
程序输出:
第一行是一个整数,表示共有多少种方案
第二行开始,每种方案占1行,表示对每种商品购买的数量,中间用空格分隔。
例如:
输入:
2
200
300
则应输出:
2
▼优质解答
答案和解析
#include
#include
int *a,*b;
//int c[20000];
int n;
int count = 0;
void print()
{
int i;
for(i = 0; i < n; i++)
printf("%d ",b[i]);
printf("\n");
}
void problem9(int total,int size)
{
if(size != n )
{
if(total == 0)//判断背包是否正装满
{
count++;//存放可行方案的个数
print();//输出此可行解
}
else
{
problem9(total,size + 1);//未放入物品a【size】的情况
if(total - a[size] >= 0)//判断放入a【size】后,是否会超出背包的承载
{
b[size]++;//使得a【size】对应物品的数量加1
problem9(total - a[size],size);//放入物品a[size]的情况
b[size]--;//使得相应的物品数量减1
}
}
}
}
void main()
{
int i,j;
scanf("%d",&n);
a = (int*)malloc(sizeof(int) * n);
b = (int*)malloc(sizeof(int) * n);
for(i = 0; i < n; i++)
scanf("%d",&a[i]);
for(j = 0; j < n; j++)
b[j] = 0;
problem9(1000,0);
printf("%d",count);
}
#include
int *a,*b;
//int c[20000];
int n;
int count = 0;
void print()
{
int i;
for(i = 0; i < n; i++)
printf("%d ",b[i]);
printf("\n");
}
void problem9(int total,int size)
{
if(size != n )
{
if(total == 0)//判断背包是否正装满
{
count++;//存放可行方案的个数
print();//输出此可行解
}
else
{
problem9(total,size + 1);//未放入物品a【size】的情况
if(total - a[size] >= 0)//判断放入a【size】后,是否会超出背包的承载
{
b[size]++;//使得a【size】对应物品的数量加1
problem9(total - a[size],size);//放入物品a[size]的情况
b[size]--;//使得相应的物品数量减1
}
}
}
}
void main()
{
int i,j;
scanf("%d",&n);
a = (int*)malloc(sizeof(int) * n);
b = (int*)malloc(sizeof(int) * n);
for(i = 0; i < n; i++)
scanf("%d",&a[i]);
for(j = 0; j < n; j++)
b[j] = 0;
problem9(1000,0);
printf("%d",count);
}
看了 程公司发了某商店的购物券10...的网友还看了以下:
甲公司为增值税一般纳税企业,适用增值税税率为17%.3月1日,甲公司向乙公司销售一批商品,按价目表 2020-05-17 …
甲公司发生财务困难,短期内无法偿还所欠乙公司到期货款100万元。经双方协商,乙公司同意 2020-05-17 …
●某系统集成商M公司与甲方签订了一份电子商务平台建设项目,合同中规定,如果系统交付后存在质量问 2020-05-26 …
甲公司应收乙公司货款800万元,经磋商,双方同意按600万元结清该笔货款.甲公司已经为该笔应收账款 2020-06-08 …
一家商店进行装修,若请甲,乙两个装修公司同时施工,8天可以完成,需要付两一家商店进行装修,若请甲、 2020-06-16 …
甲公司为增值税一般纳税人,适用的增值税税率为17%.20×8年3月1日,甲公司赊销商品一批给乙公司 2020-06-28 …
国际贸易实务题目广州秋交会期间,我国某公司同日D产业株式会社签订出口羊绒衫合同。根据合同条款的规定 2020-07-11 …
以下会计分录怎么写一。甲公司为增值税一般纳税公司。2011年3月发生下列销售业务:(1)3日,向A公 2020-12-16 …
甲公司因购买商品应付乙公司货款95600元。2009年3月28日,由于财务困难,甲公司无乙公司达成一 2020-12-26 …
1.甲公司为增值税一般纳税企业,2010年3月份发生下列业务:(1)3日,向A公司销售商品1000件 2020-12-31 …