随笔分类 -  Arithmetic

算法,思路,数学。 带源码文章
最少步骤:N变1
摘要:如果n为偶数,则将它除以2, 如果n为奇数,则将它加1或者减1。 问对于一个给定的n,怎样才能用最少的步骤将它变到1。 阅读全文

posted @ 2007-09-04 11:10 kyovcs 阅读(401) 评论(0) 推荐(0)

取胜之道
摘要:Program国度的人,喜欢玩这样一个游戏,在一块板上写着一行数,共n个。两个游戏者,轮流从最右或最左取一个数。刚开始,每个游戏者的得分均为零。如果一个游戏者取下一个数,则将该数的值加到该游戏者的得分上,最后谁的得分最高谁就赢了游戏。给出这n个数( 从左往右), 假设游戏者都是非常聪明的,问最后两个人的得分(假设第一个人首先取数). 阅读全文

posted @ 2007-09-04 10:56 kyovcs 阅读(552) 评论(0) 推荐(0)

点灯游戏算法
摘要:有十个开关等间距排成一线,每个开关对应其上方的一盏灯(十盏灯也排成一线)。每按动一下开关,可以使对应的灯改变状态(原来亮着的将熄灭,原来熄灭的将被点亮)。 阅读全文

posted @ 2007-09-04 10:24 kyovcs 阅读(1899) 评论(0) 推荐(0)

关于被整除问题
摘要:1是任何整数的约数,即对于任何整数a,总有1|a. 0是任何非零整数的倍数,a≠0,a为整数,则a|0. 2)若一个整数的末位是0、2、4、6或8,则这个数能被2整除。 3)若一个整数的数字和能被3整除,则这个整数能被3整除。 4) 若一个整数的末尾两位数能被4整除,则这个数能被4整除。 5)若一个整数的末位是0或5,则这个数能被5整除。 6)若一个整数能被2和3整除,则这个数能被6整除。 7)若... 阅读全文

posted @ 2007-09-04 09:51 kyovcs 阅读(363) 评论(0) 推荐(0)

Visual C# 诠释常用排序算法
摘要:1. 插入排序 2. 选择排序 3. 冒泡排序 4. 快速排序 5. 堆排序 阅读全文

posted @ 2007-09-03 20:22 kyovcs 阅读(451) 评论(1) 推荐(0)

A*寻路初探
摘要:原文出处:A* Pathfinding for Beginners 译者序 很久以前就知道了A*算法,但是从未认真读过相关的文章,也没有看过代码,只是脑子里有个模糊的概念。这次决定从头开始,研究一下这个被人推崇备至的简单方法,作为学习人工智能的开始。 这篇文章非常知名,国内应该有不少人翻译过它,我没有查找,觉得翻译本身也是对自身英文水平的锻炼。经过努力,终于完成了文档,也明白的A*算法的原理... 阅读全文

posted @ 2007-09-03 19:58 kyovcs 阅读(288) 评论(0) 推荐(0)

线索二叉树(C# 2.0)
摘要:线索二叉树主要是为了解决查找结点的线性前驱与后继不方便的难题。它只增加了两个标志性域,就可以充分利用没有左或右孩子的结点的左右孩子的存储空间来存放该结点的线性前驱结点与线性后继结点。两个标志性域所占用的空间是极少的,所有充分利用了二叉链表中空闲存的储空间。 要实现线索二叉树,就必须定义二叉链表结点数据结构如下(定义请看代码): ... 阅读全文

posted @ 2007-09-03 19:27 kyovcs 阅读(274) 评论(0) 推荐(0)

二叉树遍历算法实现(C#2.0)
摘要:本人用C#2.0实现了二叉树的定义,怎么构造一颗已知的二叉树,用几种常规的算法(先序,中序,后序,层次)遍历二叉树。希望能给有需要人带来帮助,也希望能得到大家的指点。有关C#数据结构的书在书店里找到,网上也是极少,如果你有好的学习资源别忘了告诉我。先谢了。数据结构对一个程序员来说,现在是太重要了,数据结构学得好的人,逻辑思维一定很强,在程序设计的时候,就不会觉得太费劲了。而且是在设计多层应用程序的... 阅读全文

posted @ 2007-09-03 19:25 kyovcs 阅读(996) 评论(1) 推荐(0)

汉诺(Hanoi)塔问题(C#版)
摘要:古代有一个梵塔,塔内有3个座,A、B、C,开始时A座有64个盘,盘子大小不等,大的在上,小的在下。有一个老和尚想把这64个盘子从A座移到C座(如图所示),但每次只允许移动一个盘,且在移动过程中在3个座上始终保持大盘在下,小盘在上。在移动地程中可以行用B座,要求编程序打印出移动的步骤。 阅读全文

posted @ 2007-09-03 19:18 kyovcs 阅读(528) 评论(0) 推荐(0)

导航