上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 33 下一页
摘要: 标题:三部排序 一般的排序有许多经典算法,如快速排序、希尔排序等。 但实际应用时,经常会或多或少有一些特殊的要求。我们没必要套用那些经典算法,可以根据实际情况建立更好的解法。 比如,对一个整型数组中的数字进行分类排序: 使得负数都靠左端,正数都靠右端,0在中部。注意问题的特点是:负数区域和正数区域内并不要求有序。可以利用这个特点通过1次线性扫描就结束战斗!! 以下的程序实现了该目标。 其中x指向待排序的整型数组,len是数组的长度。 1 void sort3p(int* x, int len) 2 { 3 int p = 0; 4 int left = 0; 5 int... 阅读全文
posted @ 2014-03-18 20:58 Freecode# 阅读(919) 评论(0) 推荐(0) 编辑
摘要: 题目标题:前缀判断 如下的代码判断 needle_start指向的串是否为haystack_start指向的串的前缀,如不是,则返回NULL。 比如:"abcd1234" 就包含了 "abc" 为前缀 1 char* prefix(char* haystack_start, char* needle_start) 2 { 3 char* haystack = haystack_start; 4 char* needle = needle_start; 5 6 7 while(*haystack && *needle){ 8 if(____ 阅读全文
posted @ 2014-03-18 19:46 Freecode# 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 【2.4】设计一个算法,将一个带头节点的数据域依次为a1,a2,……,an(n>=3)的单链表的所有节点逆置,即第一个节点的数据域变为an,……,最后一个节点的数据域变为a1。 思路:我是直接在原链表上操作,当然也可以创建一个数组存储链表的数据,然后再倒序放回原链表。 答案: 1 void in... 阅读全文
posted @ 2014-03-18 19:43 Freecode# 阅读(925) 评论(0) 推荐(0) 编辑
摘要: 题目标题: 第39级台阶 小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢? 请你利用计算机的优势,帮助小明寻找答案。要求提交的是一个整数。注意:不要提交解答过程,或其它的辅助说明文字。 递归。 写一个递归,累计所有符合的情况,最后输出计数。 注意:1、一开始站在平地上 2、最后要恰好站在第39级台阶上。 解答:51167078 代码: 1 #include... 阅读全文
posted @ 2014-03-17 19:53 Freecode# 阅读(709) 评论(0) 推荐(0) 编辑
摘要: 标题: 马虎的算式 小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。 有一次,老师出的题目是:36 x 495 = ? 他却给抄成了:396 x 45 = ? 但结果却很戏剧性,他的答案竟然是对的!! 因为 36 * 495 = 396 * 45 = 17820 类似这样的巧合情况可能还有很多,比如:27 * 594 = 297 * 54 假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0) 能满足形如: ab * cde = adb * ce 这样的算式一共有多少种呢?请你利用计算机的优势寻找所有的... 阅读全文
posted @ 2014-03-17 19:37 Freecode# 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 题目标题: 高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210 后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢? 高斯出生于:1777年4月30日。 在高斯发现的一个重要定理的日记上标注着:5343,因此可算出那天是:1791年12月15日。 高斯获得博士学位的那天日记上标着:8113 请你算出高斯获得博士学位的年月日。提交答案的格式是:yyyy-mm-dd, 例如:1980... 阅读全文
posted @ 2014-03-17 18:14 Freecode# 阅读(538) 评论(1) 推荐(0) 编辑
摘要: 对于32位字长的机器,大约超过20亿,用int类型就无法表示了,我们可以选择int64类型,但无论怎样扩展,固定的整数类型总是有表达的极限!如果对超级大整数进行精确运算呢?一个简单的办法是:仅仅使用现有类型,但是把大整数的运算化解为若干小整数的运算,即所谓:“分块法”。 如图【1.jpg】表示了分块乘法的原理。可以把大数分成多段(此处为2段)小数,然后用小数的多次运算组合表示一个大数。可以根据int的承载能力规定小块的大小,比如要把int分成2段,则小块可取10000为上限值。注意,小块在进行纵向累加后,需要进行进位校正。 以下代码示意了分块乘法的原理(乘数、被乘数都分为2段)。 1 void 阅读全文
posted @ 2014-03-16 10:48 Freecode# 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪: 每位选手需要回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须回答问题,不回答按错误处理)。 每位选手都有一个起步的分数为10分。 某获胜选手最终得分刚好是100分,如果不让你看比赛过程,你能推断出他(她)哪个题目答对了,哪个题目答错了吗? 如果把答对的记为1,答错的记为0,则10个题目的回答情况可以用仅含有1和0的串来表示。例如:0010110011 就是可能的情况。 你的任务是算出所有可能情况。每个答案占一行。 答案写在“解答.txt”中,不要写在这里! 递归。 写一个.. 阅读全文
posted @ 2014-03-16 10:20 Freecode# 阅读(773) 评论(0) 推荐(0) 编辑
摘要: 2231: 交集问题(线性表)Time Limit:1 SecMemory Limit:128 MBSubmit:6Solved:3[Submit][Status][Web Board]Description设有两个单链表A,B,求出A,B的交集元素放到A中Input1 4 5 6 7 81 3 6 9 10 33Output1 6Sample Input11 14 54 6 4 8311 3 6 9 10 83Sample Output11 6 83 HINTSource 数据结构,链表练习。 对两个链表取交集输出。考验链表的实现和处理。作为练习题很适合。也纠结了不少时间。 代码:... 阅读全文
posted @ 2014-03-15 11:09 Freecode# 阅读(710) 评论(0) 推荐(0) 编辑
摘要: 有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的,再次重复...... 直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。当第4瓶酒平分喝下后,大家都倒下了。 等船长醒来,发现海盗船搁浅了。他在航海日志中写到:“......昨天,我正好喝了一瓶.......奉劝大家,开船不喝酒,喝酒别开船......” 请你根据这些信息,推断开始有多少人,每一轮喝下来还剩多少人。 如果有多个可能的答案,请列出所有答案,每个答案占一行。 格式是:人数,人数,... 例如,有一种可能是:20,5,4,2,0 答案写在“解答. 阅读全文
posted @ 2014-03-14 10:41 Freecode# 阅读(576) 评论(1) 推荐(0) 编辑
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 33 下一页