应届生求职网小程序
查看: 4308|回复: 0
打印 上一主题 下一主题

[笔试] 迅雷2011.10.21笔试题

[复制链接]
whereto      

主题

好友

4490

积分

商界领袖

跳转到指定楼层
1
发表于 2012-11-14 16:24 |显示全部楼层 |倒序浏览
[此帖已被设为精华]
1、下面的程序可以从1....n中随机输出m个不重复的数。请填空
knuth(int n, int m)
{
srand((unsigned int)time(0));
for (int i=0; i<n; i++)
{
if ( )
{
cout<<i<<endl;
;
}
}
}
分别为:rand()%(n-i)<m 和 m--;
2、以下prim函数的功能是分解质因数。请填空
void prim(int m, int n)
{
if (m>n)
{
while ( ) n++;
;
prim(m,n);
cout<<n<<endl;
}
}
分别为:m%n 和 m/=n
3、下面程序的功能是输出数组的全排列。请填空
void perm(int list[], int k, int m)
{
if ( )
{
copy(list,list+m,ostream_iterator<int>(cout," "));
cout<<endl;
return;
}
for (int i=k; i<=m; i++)
{
swap(&list[k],&list);
;
swap(&list[k],&list);
}
}
分别为:k==m 和 perm(list,k+1,m)
二、主观题:
1、(40分)用户启动迅雷时,服务器会以uid,login_time,logout_time的形式记录用户的在线时间;用户在使用迅雷下载时,服务器会以taskid,start_time,finish_time的形式记录任务的开始时间和结束时间。有效下载时间是指用户在开始时间和结束时间之间的在线时间,由于用户可能在下载的时候退出迅雷,因此有效下载时间并非finish_time 和 start_time之差。假设登录记录保存在login_txt中,每一行代表用户的上下线记录;下载记录保存在task_txt中,每一行代表一个任务记录,记录的字段之间以空格分开。计算每个用户的有效下载时间和总在线时间的比例。注意:请尽量使用STL的数据结构和算法
2、(60分)在8X8的棋盘上分布着n个骑士,他们想约在某一个格中聚会。骑士每天可以像国际象棋中的马那样移动一次,可以从中间像8个方向移动(当然不能走出棋盘),请计算n个骑士的最早聚会地点和要走多少天。要求尽早聚会,且n个人走的总步数最少,先到聚会地点的骑士可以不再移动等待其他的骑士。
从键盘输入n(0<n<=64),然后一次输入n个骑士的初始位置xi,yi(0<=xi,yi<=7)。屏幕输出以空格分隔的三个数,分别为聚会点(x,y)以及走的天数。


+10
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册 QQ登录

本版积分规则

关闭

站长推荐上一条 /1 下一条

应届生微信小程序|应届生求职网YingJieSheng.COM ( 沪ICP备12015550号-13 )

GMT+8, 2024-5-11 02:39

Powered by Discuz!

© 2001-2012 Comsenz Inc.

快速回复 返回顶部 返回列表