各位最近参加了招聘会的,都把笔试题目贴出来交流一下吧。
大家多多交流啊。 问题点数:50、回复次数:15Top
1 楼csdboy(月光一刀)回复于 2004-12-02 22:02:01 得分 2
我12月5号 才有洽谈会Top
2 楼friedchicken2002(学习,天天...)回复于 2004-12-02 22:31:12 得分 6
已知某射手射箭10次,共89环,每次射箭最大为10环,请编程列出该射手每次成绩的可能性。Top
3 楼Andy84920(你也不懂)回复于 2004-12-02 22:32:08 得分 2
为什么笔记好多都出算法题啊?Top
4 楼Andy84920(你也不懂)回复于 2004-12-02 22:33:05 得分 2
to friedchicken2002(好好学习,天天...) :
这题如何解?
每次可能性?Top
5 楼lonelytao(涛涛)回复于 2004-12-02 22:56:01 得分 4
算法最容易看出一个人解决问题的能力。
我比较笨,想了二十分钟,只想到了这个方法
最直观的想法,用十层嵌套for循环
,然后每次枚举从0-10
在最内层将这十个循环的序数相加
int totalscore=89;
int maxPerTime=10;
for(int index1=0;index1<maxPerTime;index1++){
for(....){
.....
for(int index10=0;index10<10;index10++){
if(index1+index2+...+index10==totalscore){
//output the numbers
}
}
}
}
这样肯定能解决问题
笔试中时间急迫,你能解决肯定不错了。
至于别的好的方法,正在考虑中。。。。。。。。。。Top
6 楼AndorZhang(安朵儿)回复于 2004-12-02 23:15:12 得分 4
为什么笔记好多都出算法题啊?
我的回答是:因为中国的软件水平只有这个样子,面试人员水平次,想不出别的面试题目。其实真正的体现软件高水平的,没几个人问得出来,只能拿些算法题目来考考人。其实中国的软件技术真正缺乏的是软件结构技术的研究,大学里面也不会学到什么?因为大学教授也一样是些白痴。软件领域,要学到真正的属于前缘技术请大家多去浏览国外知名大学的网站,他们才代表了目前真正的软件的顶尖技术。Top
7 楼AndorZhang(安朵儿)回复于 2004-12-02 23:22:40 得分 3
数学算法,那只是整个软件体系中的一小片代码而已,不是重点,一个数学系大学生比软件工程师解决得好得多。Top
8 楼cao12m(★草上飞★)回复于 2004-12-02 23:38:00 得分 3
我是学数学的你不是打击我啊 其实 编软件要的主要东西我认为算法是其中之一 尤其是大型的游戏方面的 当然也只能是其中之一 我就这写这些希望给点鼓励撒Top
9 楼alanzhu(爱的逃兵)回复于 2004-12-03 14:41:36 得分 6
# include <stdio.h>
void main(){
int combination[10];
for(int i=0;i<=10;i++)
{
combination[0]=i;
int left1 = 89-i;
for(int i= left1/8<10?0:left1-80;i<=10;i++)
{
combination[1]=i;
int left2=left1-i;
for(int i= left2/7<10?0:left2-70;i<=10;i++)
{
combination[2]=i;
int left3=left2-i;
for(int i= left3/6<10?0:left3-60;i<=10;i++)
{
combination[3]=i;
int left4=left3-i;
for(int i= left4/5<10?0:left4-50;i<=10;i++)
{
combination[4]=i;
int left5=left4-i;
for(int i= left5/4<10?0:left5-40;i<=10;i++)
{
combination[5]=i;
int left6=left5-i;
for(int i= left6/3<10?0:left6/-30;i<=10;i++)
{
combination[6]=i;
int left7=left6-i;
for(int i= left7/2<10?0:left7-20;i<=10;i++)
{
combination[7]=i;
int left8=left7-i;
for(int i= left8/1<10?0:left8-10;i<=10;i++)
{
combination[8]=i;
combination[9]=left8-i;
if(combination[9]<0)
continue;
for(int i=0;i<10;i++)
{
printf("%d\t",combination[i]);
}
printf("\n");
}
}
}
}
}
}
}
}
}
}
Top
10 楼lovessm(绅士亦花心)(gentlelover)回复于 2004-12-16 14:23:46 得分 2
上面又是背包问题?Top
11 楼thuers(我什么都不会,所以我想多看看)回复于 2004-12-16 14:33:27 得分 4
#include <iostream>
using namespace std;
int a[11];
int count=0;
void outputAllRes(int total,int curDep)
{
if(total<0 || total>10*(11-curDep))
return;
if(total==0||curDep==11)
{
cout<<"第"<<++count<<"种可能";
for(int i=1;i<10;i++)
{
cout<<' '<<10 - a[i];
}
cout<<endl;
return;
}
for(int i=10;i>=0;i--)
{
a[curDep]=i;
outputAllRes(total-i,curDep+1);
}
}
int main(int argc,char** argv)
{
cout<<"所有可能如下:"<<endl;
outputAllRes(11,1);
}
Top
12 楼dft2000(皮皮)回复于 2004-12-16 14:52:50 得分 3
凡是要笔试的都是垃圾公司 今天我就遇到一个 心里正堵得慌!!!Top
13 楼qinzh130(天马行空)回复于 2004-12-16 17:27:46 得分 2
各位高手,为什么我这样做会有错呢??
#include <iostream.h>
void shoot(int number,int total)
{
static int a[10];
static int count=1;
if(total==0 && number==0)
{
cout<<"第"<<count<<"种可能性: ";
for(int i=0;i<10;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
count++;
return;
}
if(total<0||total/number>10) return;
for(a[number]=10;a[number]>=0;a[number]--)
shoot(number-1,total-a[number]);
}
main()
{
shoot(10,89);
return 0;
}Top
14 楼qinzh130(天马行空)回复于 2004-12-16 17:34:50 得分 3
哦,我知道了,number有可能变成0,所以要改下
if(total<0||number==0||total/number>10) return;
就OK了!Top
15 楼wwxsoft(婉儿)回复于 2004-12-16 18:16:33 得分 4
已知字符串类string的默认构造函数,析构函数和重载赋值运算符。
已知类string得原型为:
class String
{
public:
String(const char *pStr=NULL);
~String(void);
String & operate=(const String & Source);
private:
char *m_pData;
}Top




