面试题(天丽科技2006.8.22)

来源:互联网 发布:视频打斗特效制作软件 编辑:程序博客网 时间:2024/04/30 07:58

2006.8.22

1。在3个孩子之间分发12个完全相同的苹果和1个橘子,要求每个孩子至少有一个水果,有多少种分法?

  m_nNightmire(LONGLONG *lpCash, LPVOID *CGirl) ( 二级(初级)) 信誉:100    Blog 2006-8-24 13:41:19 得分: 16
我是这样理解的:
一共有13个水果(用@来表示苹果,*表示桔子):

@ @ @ @ @ @ @ @ @ @ @ @ *

要把这13个水果分成三份,就是在上面13个符号的12个空当间插入两个分隔符号
比如这样:
@ @|@ @ @ @ @ @|@ @ @ @ *

就是c(12,2),从12个空当里面选两个出来插入分隔符
最后的乘以三,是因为苹果都一样,而有一份里面有一个桔子,而这个桔子可能被分给三个孩子中的一个,所以每种分法另有三个分配的可能性p(3,1)。

2。在钟表正常走动的时候,有多少个时针和分针重合的位置?它们分别表示什么时刻?

  解:钟表上把一个圆分成了60等分,假如时针从12点开始走过了x个刻度,那么分针就要走过12x个刻度,即分针走了12x分钟。两针在12点重合后,当分针比时针多走60个刻度时,出现第一次分针和时针重合;当分针又比时针多走60个刻度时,出现第二次分针和时针重合;……直至回到12点两针又重合后,又开始重复出现以上情况。用数学式子来表示,即为:

12x-x=60m,其中m=1,2,….   

   度为1小时,对分针来说1个刻度就是1分钟。所以,12点以后出现第   

  出现第四、五、六、七、八、九、十次重合的时间不难算出,它们

  如果用m=11代入,解得x=60,出现第十一次重合的时间是12点,这样就回到了开始的时刻,可见,以上共有11次出现两针重合的时间。

3.写一个方法,实现字符串的反转,如:输入abc,输出cba
    public static String reverse(String s){
        int length=s.length();
        StringBuffer result=new StringBuffer(length);
        for(int i=length-1;i>=0;i--)
            result.append(s.charAt(i));
        return result.toString();
    }
 

原创粉丝点击