现在的位置: 首页 > 综合 > 正文

智力大比拼

2018年04月17日 ⁄ 综合 ⁄ 共 796字 ⁄ 字号 评论关闭

有两堆东西,一堆4个,一堆7个,两个人开始拿东西,一次可以拿任意个,但只能从一堆中拿。现规定:如果最后剩下一个,而且轮到谁拿谁就输了。现在你先拿,请问有致胜方法吗?

答案:应该是两边都是偶数(不包括0)个是一个稳定状态,如果这个状态被对方打破,采取两个方法,第一就是可以纠正回来的纠正回来,第二纠正不回来,也就是,对方取的使一边只剩一个了,那我就取的让另外一边只剩一个,如果对方取的使一边只剩0个,那我就取其中的一边还剩下两个 


算法程序题: 
    该公司笔试题就1个,要求在10分钟内作完。 
    题目如下:用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。

留着看: 
遍历122345到543221之间的整数,剔除不符合的就行了。

  1.   public void test(){  
  2.     for (Integer i = 122345; i < 543221; i++) {  
  3.     String string = i.toString();  
  4.     if(!string.matches(".*[06789].*")&&string.matches(".*1.*")&&string.matches(".*2.*2.*")  
  5.             &&string.matches(".*3.*")&&string.matches(".*4.*")&&string.matches(".*5.*")  
  6.             &&!string.matches("^..4.*$")&&!string.matches("^.*((35)|(53)).*$")){  
  7.         System.out.println(string);  
  8.     }  
  9. }  
  10.   }  

抱歉!评论已关闭.