![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法专栏
文章平均质量分 67
liujiwei2007
这个作者很懒,什么都没留下…
展开
-
Microsoft的一些笔试题
今天哈尔滨下雨了心情不算太好也是心情很不好做两道Microsoft的鄙视题不知道对错,还望高手指教!标题: 作者:liujiwei 发帖日期:2006-6-7 15:21:491.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧 绳的方法来计时一个小时十五分钟呢? 先拿两根A和BA头烧;B从尾烧当两个有交会的时候将其熄灭在拿一个整个的C让C和A等长然后原创 2006-12-24 19:37:00 · 730 阅读 · 1 评论 -
递归
RE:c语言经典算法四、递归 递归是设计和描述算法的一种有力的工具,由于它在复杂算法的描述中被经常采用,为此在进一步介绍其他算法设计方法之前先讨论它。 能采用递归描述的算法通常有这样的特征:为求解规模为N的问题,设法将它分解成规模较小的问题,然后从这些小问题的解方便地构造出大问题的解,并且这些规模较小的问题也能采用同样的分解和综合方法,分解成规模更小的问题,并从这些更小问题的解构造出规模较转载 2007-06-23 12:22:00 · 1338 阅读 · 0 评论 -
新的挪棋子程序
( 取棋子 ) 设有N颗棋子,由人和计算机轮流从中取走若干颗。每方每次最 多取K颗,最少取1颗 (K值不能超过总数的一半,也不能小于1)。试编写一程 序使计算机有较多的获胜机会。 屏幕输入提示: (1) 输入竞赛规则:A. 取最后一颗棋子的那一方为败. B. 取最后一颗棋子的那一方为胜. (2) 总共有多少颗棋子? (3)原创 2007-04-20 21:56:00 · 746 阅读 · 0 评论 -
我写的快速排序
/*=======================================================* 函 数 名: Quick_sort(int , const int )* 参数说明: Value 为传入的数组 iCount 为数组的个数* 功能描述: 将 Value 按照从小到大的顺序排序* 返 回 值: void================原创 2007-05-18 15:57:00 · 611 阅读 · 0 评论 -
百度笔试题
一、选择题:15 分 共 10 题 1. 在排序方法中,关键码比较次数与记录地初始排列无关的是: A. Shell 排序 B. 归并排序 C. 直接插入排序 D. 选择排序 选择 A2. 以下多线程对 int 型变量x的操作,哪几个需要进行同步: A. x=y; B. x++; C. ++x; D. x=1; 选择 B, C3. 代码 void func() { static原创 2007-05-18 15:31:00 · 1773 阅读 · 0 评论 -
我写的希而排序
/*=======================================================* 函 数 名: Shell_sort(int *, int )* 参数说明: pArray 为传入的数组 iCount 为数组的个数* 功能描述: 将 pArray 按照从小到大的顺序排序* 返 回 值: void===================原创 2007-05-18 15:56:00 · 486 阅读 · 0 评论 -
我写的选择排序
/*=======================================================* 函 数 名: Swap(int *, int *)* 参数说明: pa 指向要交换的位置 pb 指向要交换的位置* 功能描述: 将 pa 和 pb 所指的元素交换* 返 回 值: void===============================原创 2007-05-18 15:53:00 · 424 阅读 · 0 评论 -
我写的插入排序
/*=======================================================* 函 数 名: Swap(int *, int *)* 参数说明: pa 指向要交换的位置 pb 指向要交换的位置* 功能描述: 将 pa 和 pb 所指的元素交换* 返 回 值: void===============================原创 2007-05-18 15:54:00 · 418 阅读 · 0 评论 -
我写的冒泡排序
/*=======================================================* 函 数 名: Swap(int *, int *)* 参数说明: pa 指向要交换的位置 pb 指向要交换的位置* 功能描述: 将 pa 和 pb 所指的元素交换* 返 回 值: void==============================原创 2007-05-18 15:55:00 · 482 阅读 · 0 评论 -
穷举搜索法
c语言经典算法二、穷举搜索法 穷举搜索法是对可能是解的众多候选解按某种顺序进行逐一枚举和检验,并从众找出那些符合要求的候选解作为问题的解。 【问题】 将A、B、C、D、E、F这六个变量排成如图所示的三角形,这六个变量分别取[1,6]上的整数,且均不相同。求使三角形三条边上的变量之和相等的全部解。如图就是一个解。 程序引入变量a、b、c、d、e、f,并让它们分别顺序取1至6的证书,在它们转载 2007-06-23 12:23:00 · 2108 阅读 · 0 评论 -
递推法
c语言经典算法三、递推法 递推法是利用问题本身所具有的一种递推关系求问题解的一种方法。设要求问题规模为N的解,当N=1时,解或为已知,或能非常方便地得到解。能采用递推法构造算法的问题有重要的递推性质,即当得到问题规模为i-1的解后,由问题的递推性质,能从已求得的规模为1,2,…,i-1的一系列解,构造出问题规模为I的解。这样,程序可从i=0或i=1出发,重复地,由已知至i-1规模的解,通过递转载 2007-06-23 12:21:00 · 2691 阅读 · 5 评论 -
回溯法
c语言经典算法五、回溯法 回溯法也称为试探法,该方法首先暂时放弃关于问题规模大小的限制,并将问题的候选解按某种顺序逐一枚举和检验。当发现当前候选解不可能是解时,就选择下一个候选解;倘若当前候选解除了还不满足问题规模要求外,满足所有其他要求时,继续扩大当前候选解的规模,并继续试探。如果当前候选解满足包括问题规模在内的所有要求时,该候选解就是问题的一个解。在回溯法中,放弃当前候选解,寻找下一个候选解的转载 2007-06-23 12:20:00 · 3399 阅读 · 7 评论 -
八皇后算法
#include "stdafx.h"#include#define NUM 8 /*定义数组的大小*/int a[NUM+1];void main(){ int i,k,flag,not_finish=1,count=0; i=1; /*正在处理的元素下标,表示前i-1个元素已符合要求,正在处理第i个元素*/ a[1]=1; /*为数组的第一个元素赋初值*原创 2006-12-27 20:28:00 · 649 阅读 · 0 评论 -
黑白颠倒
14. 有黑白棋子各有N个(分别用*和O代替),按下图方式排列 ***...***OOO...OOO N个黑棋 N个白棋 允许将相邻两个棋子互换位置,最后使队形成黑白交替排列,试编程实现该操作。#include#define MAX 20char state[MAX*2+1];// Move// 把第end位置的棋子原创 2007-03-25 18:43:00 · 1095 阅读 · 0 评论 -
距阵的算法
6. 矩阵中填数. 当给出 N*N 的矩阵,要求用程序填入下列形式的数: ① 倒填,例如N=5 ② 蛇形填数 ③ 回转填数 ┌─┬─┬─┬─┬─┐ ┌─┬─┬─┬─┬─┐ ┌─┬─┬─┬─┬─┐ │25│24│23│22│21│ │ 1│ 3│ 4│10│11│ │ 1│16│15│14│13│ ├─┼─┼─┼─┼─┤原创 2007-03-25 18:50:00 · 761 阅读 · 0 评论 -
N*N 的方阵
打印一个 N*N 的方阵,N为每边 N=15 打印出下面图形 字符的个数(3<N<20), 要求最 TTTTTTTTTTTTTTT 外一层为"T", 第二层为"J", 从第三层 TJJJJJJJJJJJJJT 起每层依次打印数字 1,2,3,... TJ11111111111JT原创 2007-03-25 18:50:00 · 1068 阅读 · 0 评论 -
翻硬币
3. 有N个硬币(N为偶数)正面朝上排成一排,每次将 N-1 个硬币翻过来放在原位 置, 不断地重复上述过程,直到最后全部硬币翻成反面朝上为止。编程让计算机把 翻币的最简过程及翻币次数打印出来(用*代表正面,O 代表反面)。#include int main(){ bool A[8]; int i,j; char count; for(i=0;i A[i] =true; for(i=原创 2007-03-25 18:43:00 · 1197 阅读 · 0 评论 -
玩火柴
9. 四人玩火柴棍游戏,每一次都是三个人赢,一个人输。输的人要按赢者手中的火柴 数进行赔偿,即赢者手中有多少根火柴棍,输者就赔偿多少根。现知道玩过四次后, 每人恰好输过一次, 而且每人手中都正好有16根火柴。问此四人做游戏前手中各有 多少根火柴? 编程解决此问题。思路:总数是16跟,利用4次循环,每次都是一个人给另3个人 最后可以求出结果#include #define N 4原创 2007-03-25 18:43:00 · 762 阅读 · 0 评论 -
拉丁方阵
在N行N列的数阵中, 数K(1〈=K〈=N)在每行和每列中出现且仅 出现一次,这样的数阵叫N阶拉丁方阵。例如下图就是一个五阶拉丁方阵。 编一程序,从键盘输入N值后,打印出所有不同的N阶拉丁方阵,并统计个数。 1 2 3 4 5 2 3 4 5 1 3 4 5 1 2 4 5 1 2 3 5原创 2007-03-25 18:50:00 · 1559 阅读 · 1 评论 -
计算一个字符串
/*************************************************** 文 件 名: Compute_string.cpp* 文件描述: 计算一个字符串的实现文件* 创 建 人: 刘基伟 * 创建日期: 2007年 5月 19日* 版 本 号: 1.0* 修改纪录: 暂无***********************************原创 2007-05-19 21:35:00 · 683 阅读 · 0 评论