C语言
L-阿烽
被代码摧残的菜鸟
展开
-
算法入门——排序算法(快速排序)
快速排序的思想是:找到一个基准数,并将其余的数与基准数依次进行比较,将比基准数大的数放在哨兵的一边,再将小于基准数的数放在另一边(等于基准数的数可放在哨兵的任意一边)。基准数数就是一个用来参照的数。举个例子来展现它的作用:我们现在对“6 1 2 7 9 3 4 5 10 8”这10个数进行排序。首先我们随便找一个数作为基准数,为了方便,我们就讲第一个数 6 作为基准数。接下来,需要将这个序列中所有比基准数大的数放在 6 的右边,比基准数小的数放在 6 的左边,得到:3 1 2 5 4 6 9 7原创 2021-09-02 20:07:42 · 178 阅读 · 0 评论 -
汉诺塔(C语言)——递归方法实现
题目:假设一块板上有三根针 A、B、C。A 针上套有 n个大小不等的圆盘,按照大的在下、小的在上的顺序排列,要把这 n 个圆盘从 A针移动到 C 针上,每次只能移动一个圆盘,移动过程可以借助 B针。但在任何时候,任何针上的圆盘都必须保持大盘在下,小盘在上。从键盘输入需移动的圆盘个数,给出移动的过程。分析: 利用递归实现圆盘的整个移动过程;当只移动一个圆盘时,直接将圆盘从 A 针移动到 C 针。若移动的圆盘为 n(n>1),则分成几步走:把 (n-1) 个圆盘从 A 针移动到 B 针(借助 C.原创 2021-05-30 11:12:19 · 543 阅读 · 0 评论 -
题目 1446: [蓝桥杯][2013年第四届真题]核桃的数量
题目描述:小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:各组的核桃数量必须相同各组内必须能平分核桃(当然是不能打碎的)尽量提供满足1,2条件的最小数量(节约闹革命嘛)输入:输入包含三个正整数a, b, c,表示每个组正在加班的人数,用空格分开(a,b,c< 30)输出:输出一个正整数,表示每袋核桃的数量。样例输入2 4 5样例输出20解题分析:根据题目要求,我们.原创 2021-04-01 23:16:43 · 994 阅读 · 0 评论 -
蓝桥杯2017年第八届 c/c++ B组 第7题:日期问题
题目:标题:日期问题小明正在整理一批历史文献。这些历史文献中出现了很多日期。 小明知道这些日期都在1960年1月1日至2059年12月31日。令小明头疼的是,这些日期采用的格式非常不统一, 有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期, 存在很多可能的日期与其对应。比如02/03/04,可能是2002年03月04日、2004年02月03日或2004年03月02日。给出一个文献上的日期,你能帮助小明判断有哪些可能的日期.原创 2021-03-23 11:05:35 · 680 阅读 · 0 评论 -
查找的应用——计算最优解
题目:传送带一次传来了重量分别为wi(i=0,1,…,n-1)的n个货物。现在要将这些货物装到k辆卡车上。每辆卡车可装载的货物数大于等于0,但货物重量总和不得超过卡车的最大运载量p.所有的卡车的最大运载量p一致.输入: 第一行输入整数 n和整数k,用空格隔开.接下来n行输入n个整数wi,每个数占1行.输出: 输出p的最小值,占1行.限制 1<=n<=100000;1<=k<=100000;1<=wi<=10000输入示例5 38173.原创 2021-03-01 21:51:31 · 403 阅读 · 0 评论