
算法100题
文章平均质量分 76
陈子剑
这个作者很懒,什么都没留下…
展开
-
C语言24点问题
C语言24点问题在屏幕上输入1〜10范围内的4个整数(可以有重复),对它们进行加、减、乘、除四则运算后(可以任意的加括号限定计算的优先级),寻找计算结果等于24的表达式。例如输入4个整数4、5、6、7,可得到表达式:4*((5-6)+7)=24。这只是一个解,要求输出全部的解。要求表达式中数字的顺序不能改变。解题思路:穷举法分析:1.假设输入A,B,C,D四个未知数,在不考虑括号优先...原创 2019-05-14 10:52:37 · 3753 阅读 · 1 评论 -
21点常胜将军
21点常胜将军有21根火柴,两人依次取,每次每人只可取走1〜4根,不能多取,也不能不取,谁取到最后一根火柴谁输。请编写一个人机对弈程序,要求人先取,计算机后取;计算机为“常胜将军”。分析:当人先取时,若想计算机常胜,就必须在最后一轮(第i轮)中仅留有一根火柴,因为每个玩家至少取一根。在第i-1轮中就必须只剩下5根,还是因为每个玩家至少取一根,当玩家取一根时,电脑可以取4根,玩家取n(n&l...原创 2019-05-14 23:12:39 · 621 阅读 · 0 评论 -
渔夫分鱼问题
甲、乙、丙三位渔夫出海打鱼,他们随船带了21只箩筐。当晚返航时,他们发现有7筐装满了鱼,还有7筐装了半筐鱼,另外7筐则是空的,由于他们没有秤,只好通过目测认为7个满筐鱼的重量是相等的,7个半筐鱼的重量是相等的。在不将鱼倒出来的前提下,怎样将鱼平分为3份?原创 2019-05-12 12:36:41 · 3544 阅读 · 0 评论 -
C语言自动发牌程序
C语言自动发牌程序一副扑克有52张牌,打桥牌时应将牌分给4个人。请设计一个程序完成自动发牌的工作。要求:黑桃用S (Spaces)表示,红桃用H (Hearts)表示,方块用D (Diamonds)表示,梅花用C (Clubs)表示。分析:要设置数组表现扑克牌要设置数组表现玩家要给扑克牌做特定标识,得到结果后玩家要知道自己手中黑桃有哪些、方块有哪些初步想法:设置4个字符数组...原创 2019-05-17 14:52:29 · 3883 阅读 · 1 评论 -
C语言人机猜数问题
C语言人机猜数问题由计算机随机产生一个四位整数,请人猜这四位整数是多少。人输入一个四位数后,计算机首先判断其中有几位猜对了,并且对的数字中有几位位置也正确,将结果显示出来,给人以提示,请人再猜,直到人猜出计算机随机产生的四位数是多少为止。需求:1.一个判断有几个数字正确的函数2.一个判断有几个位置正确的函数3.一个判断输入是否正确的函数...原创 2019-05-27 15:46:41 · 913 阅读 · 0 评论 -
搬山问题
搬山问题设有n座山,计算机与人作为比赛的双方,轮流搬山。规定每次搬山数不能超过k座,谁搬最后一座淮输。游戏开始时,计算机请人输入山的总数n和每次允许搬山的最大数k,然后请人开始,等人输入了需要搬走的山的数目后,计算机马上打印出它搬多少座山,并提示尚余多少座山。双方轮流搬山直到最后一座山搬完为止。计算机会显示谁是赢家,并问人是否要继续比赛。如果人不想玩了,计算机便会统计出共玩了几局,双方胜负如何...原创 2019-05-23 20:23:26 · 275 阅读 · 0 评论 -
排列硬币-二分法-公式法
你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币。给定一个数字 n,找出可形成完整阶梯行的总行数。n 是一个非负整数,并且在32位有符号整型的范围内。示例 1:n = 5硬币可排列成以下几行: ¤ ¤ ¤ ¤ ¤解法1:int arrangeCoins(int n) { //时间复杂度为logN int left = 0, right =...原创 2019-09-03 10:30:37 · 697 阅读 · 0 评论 -
蓝桥杯——星系炸弹
在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。每个炸弹都可以设定多少天之后爆炸。 比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。 有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。yyyy-mm-ddint day_num(int year, int month, int day){...原创 2019-09-06 16:02:34 · 232 阅读 · 0 评论