WEB开发网
开发学院WEB开发Jsp IBM 经典面试题用 .NET 编程解答 阅读

IBM 经典面试题用 .NET 编程解答

 2008-01-05 10:50:43 来源:WEB开发网   
核心提示:村子里有50个人,每人有一条狗,IBM 经典面试题用 .NET 编程解答,在这50条狗中有病狗(这种病不传染),于是人们要找出病狗,到了第三天传来一阵枪声,问村里共有几条病狗,每个人可以观察其他49条狗,以判定他们是否生病

  村子里有50个人,每人有一条狗,在这50条狗中有病狗(这种病不传染),于是人们要找出病狗。
  
  每个人可以观察其他49条狗,以判定他们是否生病,(假如有病一定能看出来),只有自己的狗不能看,观察后得到的结果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的狗是病狗就是枪毙自己的狗(发现后必须在一天内枪毙),而且每个人只有权利枪毙自己的狗,没有权利打死其他人的狗。
  
  第一天大家全看完了,但枪没有响,到了第三天传来一阵枪声,问村里共有几条病狗,如何推算出来的?
  请根据题意 编写一段程序完成此试题的解答!
  
  int iDog;   //病狗数量
  int nDog;   //狗的数量
  int pDog;   //人数;等于狗的数量
  bool HaveLook=false;
  
  for (int i=1;i{
  iDog=i;  //推数的病狗数量
  
  for (int j=1;j<=pDog;j++) //每人
  {
  int LookiDog=LookDog(); //观察狗,返回看到的病狗数量
  if (lookiDog {
  killDog(pDog[j]);
  HaveLook=true;
  }
  }
  if (HaveLook) return iDog;
  }

Tags:IBM 经典 面试

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接