导航:首页 > 源码编译 > 经典算法300句

经典算法300句

发布时间:2025-01-07 12:13:37

Ⅰ 三个人去投宿。要300元,每个人各出100元。 后来老板说今天特价只要250元,叫服务生退50元给他们。 服务生

【解答】
一句一句来。

【三个人去投宿,服务生说要300元,每个人就各出了100元,凑成300元。】
这句没有问题,100X3=300。

【后来老板说今天特价只要250元,于是叫服务生把退的50元拿去还给他们;服务生想说自己暗藏20元起来,于是就把剩下的30元还给他们。】
这句也没有问题。
300-250(老板实拿的钱)=50(老板退给三人的钱)
50-20(服务生暗杠的钱)=30(服务生退给三人的钱)

换言之,在支出这边,三人共出了 300元,老板拿去250元,服务生拿去20元,剩下的30元,三个人自己各拿回来10元。

也就是三人共支付了(100-10)X3=270元;在这270元中,老板拿走了250元,而服务生拿走了20元。

在这里要注意:不能再用300元来算了。三人实际支出的是270元。服务生A的钱是从这270元里A的。不是从300元中A的。

【那三个人每人拿回10元100-10=90,表示每个人只出了90元投宿】
这句是对的。下一句才是错的。

【90元 X3人=270元+服务生的20元=290元。
请问...那剩下的10元呢????】
这里的关键错误就是那个“+服务生的20元”!

如上所述,3人实出的金额是270元没错。而服务生就是在这270元内A走20元!所以不能再外加“服务生[A走]的20元”。
290元的算法是无意义的。
然后再用已不存在的300元来减290更无意义。

所以答案就是:
本来无10元,如何会消失?!

Ⅱ 算法怎么学

贪心算法的定义:

贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,只做出在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。

解题的一般步骤是:

1.建立数学模型来描述问题;

2.把求解的问题分成若干个子问题;

3.对每一子问题求解,得到子问题的局部最优解;

4.把子问题的局部最优解合成原来问题的一个解。

如果大家比较了解动态规划,就会发现它们之间的相似之处。最优解问题大部分都可以拆分成一个个的子问题,把解空间的遍历视作对子问题树的遍历,则以某种形式对树整个的遍历一遍就可以求出最优解,大部分情况下这是不可行的。贪心算法和动态规划本质上是对子问题树的一种修剪,两种算法要求问题都具有的一个性质就是子问题最优性(组成最优解的每一个子问题的解,对于这个子问题本身肯定也是最优的)。动态规划方法代表了这一类问题的一般解法,我们自底向上构造子问题的解,对每一个子树的根,求出下面每一个叶子的值,并且以其中的最优值作为自身的值,其它的值舍弃。而贪心算法是动态规划方法的一个特例,可以证明每一个子树的根的值不取决于下面叶子的值,而只取决于当前问题的状况。换句话说,不需要知道一个节点所有子树的情况,就可以求出这个节点的值。由于贪心算法的这个特性,它对解空间树的遍历不需要自底向上,而只需要自根开始,选择最优的路,一直走到底就可以了。

话不多说,我们来看几个具体的例子慢慢理解它:

1.活动选择问题

这是《算法导论》上的例子,也是一个非常经典的问题。有n个需要在同一天使用同一个教室的活动a1,a2,…,an,教室同一时刻只能由一个活动使用。每个活动ai都有一个开始时间si和结束时间fi 。一旦被选择后,活动ai就占据半开时间区间[si,fi)。如果[si,fi]和[sj,fj]互不重叠,ai和aj两个活动就可以被安排在这一天。该问题就是要安排这些活动使得尽量多的活动能不冲突的举行。例如下图所示的活动集合S,其中各项活动按照结束时间单调递增排序。

关于贪心算法的基础知识就简要介绍到这里,希望能作为大家继续深入学习的基础。

Ⅲ 谁有好的C语言例题

1、以下程序实现:输入圆的半径 r 和运算标志 m ,按照运算标志进行指定计算。
标志 运算
A 面积
B 周长
C 二者均计算
2、以下程序实现输出 x , y , z 三个数中的最大者。
3、以下程序实现:输入三个整数,按从大到小的顺序进行输出。
4、以下程序对输入的一个小写字母,将字母循环后移 5 个位置后输出。如’a’变成‘f’ , ‘w ‘变成’b’。
5、某邮局对邮寄包裹有如下规定:若包裹的长宽高任一尺寸超过 1 米或重量超过 30 千克,不予邮寄;对可以邮寄的包裹每件收手续费 0. 2 元,再加上根据下表按重量 wei 计算的邮资:
重量(千克) 收费标准(元)
wei < 10 0. 80
10 < wei < = 20 0 . 75
20 < wei<=30 0 . 70

6、某个自动加油站有A,B,C三种汽油,单价分别为 1.05 , 1 . 35 , 1 . 18 (元/千克),也提供了”自己加”或“协助加” 两个服务等级,这样用户可以得到 5%或 10%的优惠。本程序针对用户输入加油量 a ,汽油品种 b 和服务类型 c
(f ---自动, m----自己,e---协助),输出应付款 m 。
7、编程实现以下功能:读入两个运算数( datal 和 dataZ )及一个运算符(叩) , 计算表达式 datal op dataZ 的值,其中 op 可为+,一, * , / (用 Switch 语句实现)。
8、有一堆零件( 100到 200 之间),如果分成 4 个零件一组的若干组,则多 2 个零件;若分成 7 个零件一组,则多 3 个零件;若分成 9 个零件一组,则多 5 个零件。请编程序是求这堆零件总数。
9、请编程实现求 1000以内的所有完全数。(说明:一个数如果恰好等于它的因子之和(除自身外),则称该数为完全数,例如: 6 = 1 + 2 + 3 , 6 为完全数)
10、编写程序实现功能:从三个红球、五个白球、六个黑球中任意取出八个球,且其中必须有白球,输出所有可能的方案。

11、编写程序实现功能:计算 100 至 1000 之间有多少个数其各位数字之和是 5 。

12、每个苹果 0 . 8 元,第一天买 2 个苹果,第二天开始,每天买前一天的 2 倍,直至购买的苹果个数达到不超过 100 的最大值。编写程序求每天平均花多少钱?

13、试编程序,找出 1 至1000之间的全部同构数。同构数是这样一组数:它出现在它的平方数的右边。例如: 5 是 25 右边的数, 25 是 625 右边的数, 5 和 25 都是同构数。
14、试编程序,求一个整数任意次方的最后三位数。即求 xy的最后三位数,要求 x , y 从键盘输入。

15、编写程序,从键盘输入 6 名学生的 5 门成绩,分别统计出每个学生的平均成绩。

如果做完基础,可以继续追问!

阅读全文

与经典算法300句相关的资料

热点内容
用友t3服务器地址变动 浏览:324
服务器挂了找谁服务器地址 浏览:577
单片机p30引脚功能 浏览:283
oracle命令导出数据库 浏览:597
python多行代码编译窗口 浏览:969
如何解压精神压力 浏览:188
岳麓版高中历史课本pdf 浏览:415
中国银行app充话费怎么看电话号码 浏览:427
安卓手机安装量达到上限怎么办 浏览:306
清除bitlocker加密 浏览:355
实木地板打龙骨要加密吗 浏览:122
安卓手机怎么用fv悬浮器 浏览:805
疫情期间程序员的失业 浏览:208
微信samplephp 浏览:166
食物解压系列素材 浏览:767
python人工智能视频 浏览:615
修脚视频解压嵌甲 浏览:851
php内置函数手册 浏览:985
灵通8800加密 浏览:36
oracle命令导出 浏览:538