问题提出:

小明假期同爸爸一起去书店,他选中了六本书,每本书的单价分别为:3.1,1.7,2,5.3,0.9和7.2。不巧的是,小明的爸爸只带了十几块钱,为了让小明过一个愉快的假期,爸爸扔然同意买书,但提邮购一个要求,要小明从六本书中选出若干本,使得单价相加所得的和同10最接近。

解题思路:

可以将题目简化为:从6个数中选取若干个求和,使得和与10的差值最小。

这里面隐含两个问题,一是如何选择若干数,二是求差值。

参考代码:

#include <math.h>
#include <iostream>
using namespace std;int main()
{double dpBooks[6] = {3.1, 1.7, 2.0, 5.3, 0.9, 7.2}; const double dLimit = 10;double dMinAbs = 100; //给个比较大的数。long nIndex = 0;for (long k=0; k<64; k++){double dSum=0;long nBitMask=1;for (long n=0; n<6; n++){if (k & nBitMask)dSum += dpBooks[n];nBitMask = nBitMask<<1;}double dAbs = fabs(dSum - dLimit);if (dAbs < dMinAbs){dMinAbs = dAbs;nIndex = k;}}// nIndex 是最佳结果,下面打印long nBitMask=1;double dSum=0;for (long n=0; n<6; n++){if (nIndex & nBitMask){cout<< dpBooks[n]<<" ";dSum += dpBooks[n];}nBitMask = nBitMask<<1;}cout<<endl;cout<<"Sum="<<dSum<<endl;getchar();return 0;
}

数学回味系列之23 - 小明买书相关推荐

  1. C语言:【入门】小明买水果

    题目描述 小明去超市买了若干斤水果,你能根据水果的单价,小明买的水果数量,编一个程序计算出总金额,并打印出清单. 输入 两行   第一行商品的单价,是一个小数   第二行商品的数量,是一个整数 输出 ...

  2. 蓝桥杯真题 14省1-啤酒和饮料 啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。 我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。 注意:答案是一

    问题描述 啤酒每罐2.3元,饮料每罐1.9元.小明买了若干啤酒和饮料,一共花了82.3元. 我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒. 注意:答案是一个整数. 不要书写任何多余的内容 ...

  3. 1703 - 小明买水果

    题目描述 小明去超市买了若干斤水果,你能根据水果的单价,小明买的水果数量,编一个程序计算出总金额,并打印出清单. 输入 第一行商品的单价,是一个小数. 第二行商品的数量,是一个整数. 输出 一行,商品 ...

  4. 【坐在马桶上看算法】排序总结:小哼买书

    之前讲了三种常用的经典排序.排序算法还有很多,例如选择排序.计数排序.基数排序.插入排序.归并排序和堆排序等等.堆排序是基于二叉树的排序,以后再说吧.先分享一个超酷的排序算法的视频. 再来看一个具体的 ...

  5. 小哼买书JAVA编写,04_小哼买书

    现在来看一个具体的例子"小哼买书"(根据全国青少年信息学奥林匹克联赛 NOIP2006 普及组第一题改编),来实践一下 章所学的三种排序算法. Paste_Image.png 小哼 ...

  6. 啊哈添柴——小哼买书

    啊哈添柴--小哼买书 小哼的学校要建立一个图书角,老师派小哼去找一些同学做调查,看看同学们都喜欢读哪些书. 小哼让每个同学写出一个自己最想读的书的ISBN号(你知道吗?每本书都有唯一的ISBN号,不信 ...

  7. hdu4521 小明系列的问题——小明序列(LIS变种 (段树+单点更新解决方案))

    链接: huangjing 题目:中文题目 思路: 1:这个题目假设去掉那个距离大于d的条件,那么必定是一个普通的LIS.可是加上那个条件后就变得复杂了.我用的线段树的解法. . .就是採用延迟更新的 ...

  8. 小明买了个饭团,原来背后的支付、结算、清算是这样的!

    第三方支付似乎早已成为市场热词,当广大人民群众都知其然的时候,这里想从银行端的视角来梳理梳理支付.结算.清算三姐妹的关系,在屏蔽相关细节.抛弃学院派的严谨的同时,试图用推测来还原我们在摇一摇.扫一扫背 ...

  9. 第八周拓展实践1小明借书

    问题及代码: /*Copyright(c)2016,烟台大学计算机学院 all rights reserved. 作者:曹欣宇 完成日期:2016年10月22日 版本号:v1.0题目描述小明要把5本书 ...

最新文章

  1. 原生JavaScript实现字符串长度截取
  2. 测试服务器最大链接数_LoaRunner性能测试系统学习教程:probe监控(3)
  3. 超级实用!用Python写股票分析工具
  4. 注解参数怎么使用变量_硅橡胶胶水有哪些特点?使用参数表现的怎么样?如何储存?...
  5. 理解 redis 中的 集合对象类型
  6. 2017.10.1 互不侵犯king 思考记录
  7. sql创建表主键gui_在SQL Server中使用主数据服务快速创建最终用户可以维护的GUI
  8. 优酷APP响应式布局在消费场景的落地之Android篇
  9. 设计一个Enum Class
  10. 人脸识别 face_recognition
  11. scan ip和vip的关系疑惑
  12. win7无法连接打印机拒绝访问_win7添加打印机提示windows无法连接到打印机怎么解决...
  13. python日期函数_Python日期时间处理: datestuff
  14. 5个免费的AI智能抠图工具,一键去除图片背景!
  15. vue屏幕分辨率适配实战解析
  16. vivo 云原生容器探索和落地实践
  17. 前端导出excel(element+xlsx+filesaver插件),表格数据重复问题解决
  18. bert可以做哪些nlp任务
  19. RPA机器人的6大收益
  20. 工业相机基础知识以及相机内参标定

热门文章

  1. 在 Windows 读取 Linux 分割区的 Ext2Fsd
  2. Spring配置事务管理
  3. CornerNet 论文阅读笔记
  4. VS2019+OpenCV打开大华摄像头
  5. Python——使用 Python 第三方库 twilio 发送短信
  6. 向量积中的内积、外积及其表现形式
  7. 无线传输模块HC-12
  8. python动物识别系统(仅有识别功能)
  9. vue中根据生日(出生年月日)计算年龄
  10. 齐治堡垒机,功能诠释表!