公司购物

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:zhouyong		2013-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]的之前的情况。
		}
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Eclipse购物网站代码是一个虚构的项目,该项目使用Java编程语言和Eclipse集成开发环境进行开发。 首先,Eclipse购物网站代码需要使用数据库来存储商品信息、用户信息和订单信息等。可以选择使用MySQL、Oracle或者其他关系型数据库。在项目中需要建立相应的数据库表,包括商品表、用户表和订单表等。 其次,Eclipse购物网站代码需要实现用户注册、登录、浏览商品、添加商品到购物车、下订单等功能。用户注册功能包括输入用户名、密码、邮箱等信息并进行合法性校验。用户登录功能需要验证用户输入的用户名和密码是否正确。浏览商品功能将商品信息从数据库中读取出来并展示给用户。添加商品到购物车功能将选中的商品添加到购物车中,购物车可以用List或者其他数据结构存储商品信息。下订单功能将购物车中的商品生成订单并保存到数据库中。 另外,Eclipse购物网站代码还需要实现支付功能和物流查询功能。支付功能可以使用第三方支付平台的接口实现,如支付宝或者微信支付。物流查询功能可以通过调用快递公司的接口实现物流信息的查询,并将查询结果展示给用户。 此外,Eclipse购物网站代码还应具备后台管理功能,包括商品管理、用户管理和订单管理等。商品管理功能可以实现商品的添加、修改和删除等操作。用户管理功能可以实现对用户信息的查询和删除等操作。订单管理功能可以实现对订单信息的查询和发货等操作。 以上是一个大致的框架和功能描述,具体的实现方式和细节需要根据实际情况进行调整。希望以上回答能满足您的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值