今天面试的几道题目大家来看看怎么做???
1)1,1,2,3,5,8,13,21,34,。。。
用C#递归写出算法,算出第30个数?
(麻烦高手把代码贴出来,谢谢!)
2)妻子每天5:30下班,经常去超市逛到6:00,然后座地铁回住的镇上,丈夫都会在6:30到车站接她,
一天妻子5:25下班了,没逛超市,座5:30地铁回镇上,见丈夫没到,打算自己走回去,丈夫还是老时间出来,路上碰到妻子,接她回家,到家看早回家了十分钟,问妻子走了多长时间?
------解决方案--------------------第一,fibonacci数列
第二,数学问题
------解决方案--------------------1:
   protected void Button1_Click(object sender, EventArgs e)
   {
       int n = Calculate(1,1,2);
   }
   private int Calculate(int first, int second, int loop)
   {
       int res = first + second;
       loop++;
       if (loop == 14)
       {
           return res;
       }
       else
       {
           return Calculate(second, res, loop);
       }
------解决方案-------------------- public class Calcalate
{
   int parent=1;
   int beginparent=1;
  private int getNum()
 {
 for(int i=1;i<=30;i++)
 {
    parent+=Child(parent);
 }
  return parent;
 }
 private int Child(int parent)
 {
   return beginparent+=parent;
 }
}  
}
------解决方案--------------------namespace test1
{
   class Program
   {
      static int F(int n)
       {
           if (n <=2)  
               return 1;
           else
               return (F(n - 1) + F(n - 2));          
       }
       static void Main(string[] args)
       {
           int n=F(30);
           Console.WriteLine(n.ToString());
       }
   }
}
------解决方案--------------------   public class MainClass  
   {  
       public static void Main()  
       {  
           Console.WriteLine(Foo(30));  
       }  
       public static int Foo(int i)  
       {  
           if (i <= 0)  
               return 0;  
           else if(i > 0 && i <= 2)  
               return 1;  
           else return Foo(i -1) + Foo(i - 2);  
       }  
   }  
评分标准: 写出return Foo(i -1) + Foo(i - 2); 得5分。  
  写出if(i > 0 && i <= 2) return 1; 得5分。
          方法参数过多需要扣分(扣除分数 = 参数个数 - 1)
          不用递归算法扣5分
          (递归算法在树结构建立等方面比较常用)
------解决方案----------------------首先在server1中连接server2
exec sp_addlinkedserver  
用法见MSDN
SQL code
server1.data1.table1 a inner join server2.data2.table2 b on a。ID=b.ID