日期:2014-05-18  浏览次数:20808 次

鸡兔同笼问题
已知在同一个笼子里总共有h只鸡和兔,鸡和兔的总脚数为f只,其中h和f由用户输入,求鸡和兔各有多少只?
我自己写的代码不知道为什么进入了死循环:
 int f, h,x,y;
  f=int.Parse(Console.ReadLine());
  h=int.Parse(Console.ReadLine());
  while (f % 2 == 0)
  {

  while (f >= 2 * h)
  {
  x = f / 4;
  y = f - x;
  Console.WriteLine("{0},{1}",x,y);


  }
  Console.WriteLine("输入错误!");
而我自己又尝试用了一下for语句写,发现更蛋疼了,写到不会写,以下是不完整的,求修改啊,泪奔了:
 int f, h,x,y;


  for (f = int.Parse(Console.ReadLine()); f % 2 == 0; )
  {

  for (h = int.Parse(Console.ReadLine());h<f ; f = 2 * h)
  {
  x = f / 4;
  y = f - x;
  Console.WriteLine("{0},{1}", x, y);


  }
  Console.WriteLine("输入错误!");
谢谢高手指点啊!!!!

------解决方案--------------------
这不就 是一个 二元一次方程么
------解决方案--------------------
看着楼上 果断 我不想说什么了!、、、但是还是弱弱的冒泡一个!、、、
------解决方案--------------------
int f, h;
f=int.Parse(Console.ReadLine());
h=int.Parse(Console.ReadLine());
Console.WriteLine("{0},{1}", 2 * h - f / 2, f / 2 - h);