论坛首页 Java企业应用论坛

几个笔试题目(2010-09-18)

浏览 23223 次
精华帖 (1) :: 良好帖 (3) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-09-19  
za3999 写道
	public static void main(String[] args) {
		int n=1;
		for (int i = 1; i < 1000; i++) {
			n += i;
		}
		System.out.println("最终:"+n);
	}

最终:499501

 

就这样的IQ还写程序?

  (1+999)*999/2

0 请登录后投票
   发表时间:2010-09-19   最后修改:2010-09-19
第三编程题,其实可以把数字从小到大一个一个push压栈,然后循环出栈pop,判断每次出栈的数据是否为0,如果不是0的话,就判断栈的总数,可以得出位数(如万,千等),如果为0的话,就一直出栈,不做任何处理...大概思路是这样
0 请登录后投票
   发表时间:2010-09-19  
都很简单(除了那道概念题)
0 请登录后投票
   发表时间:2010-09-19  
youaretheboy 写道
第三编程题,其实可以把数字从小到大一个一个push压栈,然后循环出栈pop,判断每次出栈的数据是否为0,如果不是0的话,就判断栈的总数,可以得出位数(如万,千等),如果为0的话,就一直出栈,不做任何处理...大概思路是这样

思路很好。不过有一个地方,是0也不能啥也不处理,得输出零字,如果多个零只输出一个,如果零在万、亿之类的位上也要特殊处理;对于非0情况,也有需要另外处理的,比如1在十万位上,万位是0和不是0处理方式也会不一样吧。需要考虑的地方还是蛮多的。不过思路挺好的。
0 请登录后投票
   发表时间:2010-09-19  
hackpro 写道
第一题:
条件:只能称一次,硬币只能用一次

称量方法:先把 10箱全部放在称上,然后按上硬币,使称可以使用,然后依次拿走物品,记下每次拿走物品时,称上显示的度量值。然后找到不同度量值时那次拿下的物品,这个就是少50克的那一箱..
第二题: 999条线,最多能组多少个部分:
     
        一个部分 认为是一个平面, 那么一个平面至少有3个点 
        999 条线 认为有 999个点。三条直播相交才能确定一个平面,
       所以一条直线。我们看作是一个点
   那么就可以用排列组算 C(999---3)的排列组合了
   排列组合是高中的知识,已经模糊了,让我在看看资料。
   查到组合公式了:
   C(999,3)
   =C(999,3)
  = 999*998*996/6 


第二题错了!哪有你说的这么简单。
“三条直播相交才能确定一个平面”×
0 请登录后投票
   发表时间:2010-09-20  
yangkunlin 写道
基础题:通项公式为an = a(n-1)+n;a1=2;则a999=999001

再补充一下:
an = a(n-1) + n,a1 = 2;算是已知条件,经过分析,可以得出通项公式为 an = n(n+1)/2 + 1
则a999=999(999 + 1)/2 + 1=499501

不知这个答案怎么样?

刚开始想求前n项和,纠结了半天,原来是求数列的第n项……
0 请登录后投票
   发表时间:2010-09-20  
miaoxb 写道
yangkunlin 写道
基础题:通项公式为an = a(n-1)+n;a1=2;则a999=999001

再补充一下:
an = a(n-1) + n,a1 = 2;算是已知条件,经过分析,可以得出通项公式为 an = n(n+1)/2 + 1
则a999=999(999 + 1)/2 + 1=499501

不知这个答案怎么样?

刚开始想求前n项和,纠结了半天,原来是求数列的第n项……

就是这样的,这个很多人都知道。关键是这个是需要证明的。前面已经有牛人证明了。
0 请登录后投票
   发表时间:2010-09-20  
第一题这样行不行:
十箱一块称,然后一箱一箱的往下拿,因为除了一箱少的,其余的都是一样重的
0 请登录后投票
   发表时间:2010-09-20  
哥们,你这是亚信的笔试题吧?
0 请登录后投票
   发表时间:2010-09-20  
hackpro 写道
第一题:
条件:只能称一次,硬币只能用一次

称量方法:先把 10箱全部放在称上,然后按上硬币,使称可以使用,然后依次拿走物品,记下每次拿走物品时,称上显示的度量值。然后找到不同度量值时那次拿下的物品,这个就是少50克的那一箱..
第二题: 999条线,最多能组多少个部分:
     
        一个部分 认为是一个平面, 那么一个平面至少有3个点 
        999 条线 认为有 999个点。三条直播相交才能确定一个平面,
       所以一条直线。我们看作是一个点
   那么就可以用排列组算 C(999---3)的排列组合了
   排列组合是高中的知识,已经模糊了,让我在看看资料。
   查到组合公式了:
   C(999,3)
   =C(999,3)
  = 999*998*996/6 



我觉得第一题答得有点意思,我发现我们都有一个毛病,就是喜欢拿数学知识来解决我们现实生活的一些问题
我觉得

逻辑!=数学

0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics