返回列表 发帖

(原创)程序设计之算法设计

   随着技术的更新,计算机方面的技术,尤其是JavaWeb方向,发生了翻天覆地的变化,97年出现的Servlet,以及99JSP的问世,依然不能满足企业级开发(专指web开发)的需要,各种新技术和新框架层出不穷。。。

   一时间,对框架的狂热,使得一些程序员(尤其是java初学者),不知所措,在框架的学习上,不深入,仅仅停留在简单应用上,这恰恰忽略了一个重要问题。事实证明大公司的招聘考题中,算法的题目不在少数,算法是最能反映一个人编程技巧和逻辑思维水平的。

凡是学过一点计算机的人大概都知道程序=算法+数据结构这一著名公式。(Pascal之父——Nicklaus Wirth
由次可见,算法对于程序设计的重要性。那么是什么算法呢?

算法是指解决问题的步骤和方法。
一般来说,算法应具有以下特性:
1有穷性: 一个算法必须保证执行有限步之后结束;
2
、确切性: 算法的每一步骤必须有确切的定义;
3
、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件;
4
、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;
5
、可行性: 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。

算法的应用范围:所有程序
那下面我就抛个砖,大家尽管把玉扔过来。

题目1:(题目由易到深,先来个简单的试试手)
今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?-  (已解决)
--孙子算经

题目2:
有一根27厘米的细木杆,在第3厘米、7厘米、11厘米、17厘米、23厘米这五个位置上各有一只蚂蚁。木杆很细,不能同时通过一只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,但不会后退。当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米的距离。编写程序,求所有蚂蚁都离开木杆的最小时间和最大时间。(已解决)


题目3:

在文本文件readme.txt中,存放数据如下(数据列之间用,隔开) (未解决)

s001,郭靖,20,江南
s002,金毛狮王,25,冰火岛
s003,南帝,40,云南大理
s004,黄蓉,22,桃花岛
s005,风清扬,24,华山
s006,洪七公,60,丐帮
s007,张三丰,22,太极
s008,杨过,26,古墓
s009,小龙女,28,古墓
s010,张无忌,30,明教
  …
要求:1:查询年龄最大的学员信息
            2:请勿借助数据库来完成实现


(请大家先考虑考虑如何使用程序语言来实现,10楼后公布答案)

[ 本帖最后由 eclipse 于 2008-7-22 16:41 编辑 ]

鸡有两足,兔有四足,
算算呗

TOP

鸡23
兔12
......

TOP

呵呵
请使用代码实现

TOP

public void getNumber()
{
           int i = 1;
            for (; i < 35; i++)
            {
                if (i * 2 + (35 - i) * 4 == 94)
                {
                    break;
                }
            }
            System.Out.println("鸡:" + i);
            System.Out.println("鸡:" + (94-i));
}

TOP

原帖由 justseven 于 2008-3-26 16:23 发表
public void getNumber()
{
           int i = 1;
            for (; i < 35; i++)
            {
                if (i * 2 + (35 - i) * 4 == 94)
                {
                    break;
...


基本上正确了,i可以为35,改为<=

TOP

有一根27厘米的细木杆,在第3厘米、7厘米、11厘米、17厘米、23厘米这五个位置上各有一只蚂蚁。木杆很细,不能同时通过一只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,但不会后退。当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米的距离。编写程序,求所有蚂蚁都离开木杆的最小时间和最大时间。

TOP

呵呵 这题你看看 怎么做好,最好使用OO

TOP

最短时间应该是11s吧,
用算法实现的话,得考虑考虑了
该题目也编入题目表

TOP

1111111111

[ 本帖最后由 boss 于 2008-3-26 16:47 编辑 ]

TOP

最佳答案,比上边的好

11111111111111111

[ 本帖最后由 boss 于 2008-3-26 16:47 编辑 ]

TOP

最佳答案,比上边的好

1111111111111111111

[ 本帖最后由 boss 于 2008-3-26 16:48 编辑 ]

TOP

楼上是哪位大虾?貌似...

[ 本帖最后由 eclipse 于 2008-3-26 17:44 编辑 ]

TOP

经典,支持!

TOP

蚂蚁快跑模拟器 VS2005实现

AntRun.rar (40.95 KB)

蚂蚁快跑模拟器

TOP

返回列表