发布本公司对应届毕业生考试题目?(这么简单竟然没有一个完全做出,让我有点失望了(0分)

  • 主题发起人 主题发起人 0564335
  • 开始时间 开始时间
snqy,我们本来要的是有工作经验,但是说实在也不好招,而且我们IT业跳槽的太多了,让一个公司真的很难发展啊!
如果有当过主管之类的人员来说,应该都会有体会的;公司每进一个人都要培训,公司自己的内部文件及涉及行业知识!
 
楼主是那家公司啊,招聘人的条件不大难啊
 
2. 编写尽可能简单的DLL,并编写另外一个程序来调用该DLL;
类别:系统类 难度:中级
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2425990
 
3. 用最优算法实现1+1/2+1/4+1/8+1/16+…..+1/n[2]的和;类别:算法类,难度:初级
我想 知道 比 下面 的 函数 更快 的 算法。
function fast(n: integer): Extended;
var
i: DWORD;
begin
i := 31 - n;
result := (INFINITE shr i shl i) / $80000000;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
i, b: integer;
function fast(n: integer): Extended;
var
i: DWORD;
begin
i := 31 - n;
result := (INFINITE shr i shl i) / $80000000;
end;

function normal(n: integer): Extended;
begin
result := 2 - (1 / Power(2, n));
end;

function slow(n: integer): Extended;
var
i: integer;
begin
result := 1;
for i := 1 to ndo
result := result + 1 / Power(2, i);
end;

begin

showmessage(format('%1.9f %1.9f %1.9f', [fast(5), normal(5), slow(5)]));
b := GetTickCount;
for i := 1 to 100000do
fast(5);
showmessage(format('%f秒', [(GetTickCount - b) / 1000]));
b := GetTickCount;
for i := 1 to 100000do
normal(5);
showmessage(format('%f秒', [(GetTickCount - b) / 1000]));
b := GetTickCount;
for i := 1 to 100000do
slow(5);
showmessage(format('%f秒', [(GetTickCount - b) / 1000]));
end;

 
公司 在哪 ,我 看 能不能 去 。
 
to 0564335:
如果 有 更 好 的 算法
贴到 http://www.delphibbs.com/delphibbs/dispq.asp?lid=2476497
 
to hfghfghfg :
能想出Fast这个方法,实在绝了;高!
 
公司 在哪 ?
 
你给我邮箱,我发给你
 
hfghfghfg,我刚才也试了一个其实用循环比用公式更快啊你应该把Slow与normal对掉啊
 
但是 Fast 是有 位数 限制 的。
一般 没必要 这样 写
 
Solw与normal
是 我 随手 写的 没注意
 
Hfghfghfg,你好!因为本题都是N是整数,可以考虑用intpower可能会更快。那只对normal来说,Fast ,我望尘未及啊
 
我 这边 不是
..........................
fast 0.05 秒
normal 0.27 秒
slow 1.99 秒
..........................
fast 0.05 秒
normal 0.25 秒
slow 1.91 秒
..........................
fast 0.04 秒
normal 0.25 秒
slow 1.94 秒
..........................
fast 0.05 秒
normal 0.25 秒
slow 1.90 秒

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, math, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i, b: integer;
function fast(n: integer): Extended;
var
i: DWORD;
begin
i := 31 - n;
result := (INFINITE shr i shl i) / $80000000;
end;

function normal(n: integer): Extended;
begin
result := 2 - (1 / Power(2, n));
end;

function slow(n: integer): Extended;
var
i: integer;
begin
result := 1;
for i := 1 to ndo
result := result + 1 / Power(2, i);
end;

begin

// showmessage(format('%1.9f %1.9f %1.9f', [fast(8), normal(8), slow(8)]));
memo1.Lines.Add('..........................') ;
b := GetTickCount;
for i := 1 to 1000000do
fast(8);
memo1.Lines.Add (format('fast %f 秒', [(GetTickCount - b) / 1000]));
b := GetTickCount;
for i := 1 to 1000000do
normal(8);
memo1.Lines.Add(format('normal %f 秒', [(GetTickCount - b) / 1000]));
b := GetTickCount;
for i := 1 to 1000000do
slow(8);
memo1.Lines.Add(format('slow %f 秒', [(GetTickCount - b) / 1000]));
end;

end.


 
intpower 是 快 很多
和 fast 差不多
..........................
fast 0.04 秒
normal 0.07 秒
slow 0.52 秒
..........................
fast 0.05 秒
normal 0.07 秒
slow 0.52 秒
..........................
fast 0.04 秒
normal 0.06 秒
slow 0.51 秒
..........................
fast 0.04 秒
normal 0.07 秒
slow 0.50 秒
..........................
fast 0.05 秒
normal 0.07 秒
slow 0.52 秒
..........................
fast 0.04 秒
normal 0.07 秒
slow 0.51 秒
..........................
fast 0.04 秒
normal 0.07 秒
slow 0.52 秒
..........................
fast 0.05 秒
normal 0.07 秒
slow 0.51 秒
..........................
fast 0.04 秒
normal 0.06 秒
slow 0.53 秒
 
hfghfghfg,已有更快的,在你的贴子里
 
现在的公司招人都是出些这样的题,这种题考的都是经验,比如:编写尽可能简单的DLL,并编写另外一个程序来调用该DLL;象这样的东西,没接触过肯定是不知道的,但只要不傻的人,找一本delphi的书,随便看5分钟,就能做出来!能考到什么东西?看看人家microsoft出的题目吧,考的都是能力!
 
hfghfghfg@sohu.com
 
呵呵,
这年头简历上不写精通是不行的。
如果你“诚实”(或者说是客观)的话,
招聘单位就根本就于以考虑了,
你还指望个屁啊。
 
接受答案了.
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部