日期:2014-05-20  浏览次数:20670 次

面试了 但是好多都不会啊!把记得记录下来
1 交换两个数值变量 a,b的值,不能使用第三个变量 如何实现?
2 有三扇门,其中一扇后面有车,其他两扇没有,但你选定一扇门后,主持人会为你排除一扇空门。这时候主持人会问你该
  不该原来的选择。请你选择改还是不改,哪一个选择车的几率大为什么?(大概就是这个意思,因为当时我也没读明白
  什么意思,我百度了一下 好像网上的和我面试不大一样不晓得是不是面试官没把题目写明白,知道的朋友讲讲)
3 假设有一种货币有C1,C2,C3....Cn种面值(分),写一个程序,实现用最少硬币数量
  找k分钱的零钱的算法(当时是没有读懂什么意思)
4 解析sql语句的意思:
  select 学生名,学号 from xs where not exist
  {
  select * from kc where not exist
  {
  select * from xs_kc where 
  xs_kc.课程号=xs.学号 and xs_kc.课程号=kc.课程号 
  }
  }
  这个sql语句表示什么意思啊 ?

------解决方案--------------------
int int1=0;
int int2=1;
int1=int1+int2;
int2=int1-int2;
int1=int1-int2;
System.out.println(int1);
System.out.println(int2);
------解决方案--------------------
int a = 10;
int b = 5;
a = a + b;
b = a - b;
a = a - b;
------解决方案--------------------
肯定是换的几率大,换的话,是2/3
这个问题可以推算到10扇门的问题,就很好理解了
------解决方案--------------------
2. 改

改了 2/3
不改 1/3
------解决方案--------------------
查询出的应该是课程号和学号相同并且课程名也相同,是不
------解决方案--------------------
int int1=0;
int int2=1;
int1=int1+int2;
int2=int1-int2;
int1=int1-int2;
System.out.println(int1);
System.out.println(int2);
------解决方案--------------------
1
a=a^b; 
b=b^a; 
a=b^a;
------解决方案--------------------
1.int a,b;

a = a * b;
b = a / b;
a = a / b;

3.
Java code

void compute(int k,int[] c){
//按由大到小排序c略。。。
        int len = c.length;
        if(len < 1)
            return;
         
        int tmp = 0;
        int index = 0;
        int n = 0;
        while(index < len){
            n = k / c[index];
            
            if(n > 0){
                System.out.println(n + "个面值" + c[index]);
            }
            tmp = k % c[index];
            if(tmp == 0){
                return;
            }
            k = tmp;
            index++;
        }
    }