课本NP-complete证明题

8.3

给定方程式f,令(f,k)表示k个变量的SAT问题的实例,下面证明一组赋值a是f的解当且仅当a也是(f,k)的解。
必要性:假设a是f的解,因为一共有k个变量,所以a中也有不超过k个变量为真,所以a也是(f,k)的解。
充分性:假设a是(f,k)的解,那么显然也是对应f的解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本实战项目是一个简易的购物系统,可以实现添加商品、浏览商品、购买商品等功能。 思路: 1. 定义一个商品类,包括商品名称、价格、库存等属性; 2. 定义一个购物车类,包括购物车商品列表、商品总价等属性; 3. 实现添加商品功能,将商品添加到商品列表中; 4. 实现浏览商品功能,展示所有商品信息; 5. 实现购买商品功能,将商品加入购物车中,更新商品库存和购物车总价。 代码实现: ``` class Goods: def __init__(self, name, price, count): self.name = name self.price = price self.count = count class Cart: def __init__(self): self.goods_list = [] self.total_price = 0 def add_goods(self, goods): self.goods_list.append(goods) self.total_price += goods.price def view_goods(self): for goods in self.goods_list: print("商品名称:{},价格:{},库存:{}".format(goods.name, goods.price, goods.count)) def buy_goods(self, goods): if goods.count == 0: print("商品库存不足") else: self.add_goods(goods) goods.count -= 1 goods_list = [] cart = Cart() def add_goods(): name = input("请输入商品名称:") price = input("请输入商品价格:") count = input("请输入商品库存:") goods = Goods(name, float(price), int(count)) goods_list.append(goods) print("商品添加成功") def view_goods(): print("商品列表:") for goods in goods_list: print("商品名称:{},价格:{},库存:{}".format(goods.name, goods.price, goods.count)) def buy_goods(): name = input("请输入要购买的商品名称:") for goods in goods_list: if goods.name == name: cart.buy_goods(goods) print("购买成功") return print("该商品不存在") def view_cart(): print("购物车商品列表:") cart.view_goods() print("总价:{}".format(cart.total_price)) while True: print("1.添加商品") print("2.浏览商品") print("3.购买商品") print("4.查看购物车") print("5.退出") choice = input("请选择操作:") if choice == "1": add_goods() elif choice == "2": view_goods() elif choice == "3": buy_goods() elif choice == "4": view_cart() elif choice == "5": break else: print("输入有误,请重新输入") ``` 运行效果: ``` 1.添加商品 2.浏览商品 3.购买商品 4.查看购物车 5.退出 请选择操作:1 请输入商品名称:苹果 请输入商品价格:5 请输入商品库存:10 商品添加成功 1.添加商品 2.浏览商品 3.购买商品 4.查看购物车 5.退出 请选择操作:1 请输入商品名称:香蕉 请输入商品价格:3 请输入商品库存:5 商品添加成功 1.添加商品 2.浏览商品 3.购买商品 4.查看购物车 5.退出 请选择操作:2 商品列表: 商品名称:苹果,价格:5.0,库存:10 商品名称:香蕉,价格:3.0,库存:5 1.添加商品 2.浏览商品 3.购买商品 4.查看购物车 5.退出 请选择操作:3 请输入要购买的商品名称:香蕉 购买成功 1.添加商品 2.浏览商品 3.购买商品 4.查看购物车 5.退出 请选择操作:4 购物车商品列表: 商品名称:香蕉,价格:3.0,库存:4 总价:3.0 1.添加商品 2.浏览商品 3.购买商品 4.查看购物车 5.退出 请选择操作:5 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值