求解!谢谢!

changml0929 2008-04-25 04:52:41
有兔子和鸡30只,90条腿,问有多少只兔子和多少只鸡?
用JAVA怎么实现啊?
谢谢!
...全文
84 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
king_spf 2008-04-25
  • 打赏
  • 举报
回复
public class Test
{
public static void main(String [] args)
{
for (int x = 0;x < 90;x++)
{
for(int y = 0;y < 90;y++)
{
if((x+y==30)&&(2*x+4*y==90))
{
System.out.println(x);
System.out.println(y);

}
}
}
}
}
各15只
anqini 2008-04-25
  • 打赏
  • 举报
回复


package B;

import A.a;

public class b extends a {

public static void main(String[] args) {
//
final int ji = 2;
final int tu = 4;
for (int i = 1; i < 30; i++) {
int ii = (90 - 2 * i) % 4;
int a = (90 - 2 * i) / 4;
int b = i + a;
if ((ii == 0) && (b == 30)) {
System.out.println("ji====" + i + " tuzi======" + (30 - i));
}
}
}

}

kingssq 2008-04-25
  • 打赏
  • 举报
回复
-_-!!11楼的代码无解会死循环,改成这样吧。。。
public class Test
{
public static void main(String[] args)
{
int sum = 30;
int legs = 91;
int i = sum/2;
int j = sum-i;
int flag = 0;
while(true)
{
if((i*2 + j*4) == legs) break;
if((i*2 + j*4) > legs)
{
i++;
j--;
flag ++;
}
else {
i--;
j++;
flag ++;
}
if(flag == 2) break;
}
if(flag!=2)
System.out.println("i,j :"+i+","+j);
else {
System.out.println("无解");
}
}
}
huxinyu929 2008-04-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 powerlee2008 的回复:]
小学2年级题:
90 / 2 - 30 = 15
30 - 15 = 15
各15只。
[/Quote]

小学2年级的,,你还做错了。。
huxinyu929 2008-04-25
  • 打赏
  • 举报
回复
大概给你点提示:

final int 总只数 = 30;
final int 总腿数 = 90;
int 鸡;
int 兔;


int[] array兔 = new int[30];
int[] array鸡 = new int[30];
int index = 0;

for(int 兔 = 0; 兔 <30; 兔++ ) {
if(兔*4+鸡*2 == 90) {
array兔[index] = i;
array鸡[index] = 30-i;
System.out.println("兔\t"+i+"只");
System.out.println("鸡\t"+30-i+"只");
index++;
}
}
huxinyu929 2008-04-25
  • 打赏
  • 举报
回复
大概给你点提示:

final int 总只数 = 30;
final int 总腿数 = 90;
int 鸡;
int 兔;


int[] array兔 = new int[30];
int[] array鸡 = new int[30];
int index = 0;

for(int 兔 = 0; 兔 <30; 兔++ ) {
if(兔*4+鸡*2 == 90) {
array兔[index] = i;
array鸡[index] = 30-i;
System.out.println("兔\t"+i+"只");
System.out.println("鸡\t"+30-i+"只");
}
}
kingssq 2008-04-25
  • 打赏
  • 举报
回复
-_-!!怎么多了一句。。。。
public class Test
{
public static void main(String[] args)
{
int sum = 30;
int legs = 90;
int i = sum/2;
int j = sum-i;
while(true)
{
if((i*2 + j*4) == legs) break;
if((i*2 + j*4) > legs)
{
i++;
j--;
}
else {
i--;
j++;
}
}
System.out.println("i,j :"+i+","+j);
}
}
kingssq 2008-04-25
  • 打赏
  • 举报
回复
public class Test
{
Long l = new Long("");
public static void main(String[] args)
{
int sum = 30;
int legs = 90;
int i = sum/2;
int j = sum-i;
while(true)
{
if((i*2 + j*4) == legs) break;
if((i*2 + j*4) > legs)
{
i++;
j--;
}
else {
i--;
j++;
}
}
System.out.println("i,j :"+i+","+j);
}
}
a_nuo 2008-04-25
  • 打赏
  • 举报
回复
public class Number {
private int x,y;
/**
* Creates a new instance of <code>Number</code>.
*/
public Number(int x,int y) {
this.x=x;
this.y=y;
}

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
new Number(30,60).number();
}
public void number(){
System.out.println ("rabbit="+(y/2-x));
System.out.println ("chicken="+(2*x-y/2));
}
}
zjcnuist 2008-04-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zjcnuist 的回复:]
javacode

函数头就不写了
//兔子的数量
int rabbitCount;
//鸡的数量
int kichenCount;
for(int i = 1; i <= 30 ; i+=){
if ( (4*i + (30 - i)*2) == 90 ){
rabbitCount = i;
break;
}

}

kichenCount = 30 - rabbitCount;
System.out.println("兔子的数量为:" + rabbitCount);
System.out.println("鸡的数量为…
[/Quote]
不好意思 少写了个括号
我是风 2008-04-25
  • 打赏
  • 举报
回复
小学2年级题:
90 / 2 - 30 = 15
30 - 15 = 15
各15只。
zjcnuist 2008-04-25
  • 打赏
  • 举报
回复
javacode

函数头就不写了
//兔子的数量
int rabbitCount;
//鸡的数量
int kichenCount;
for(int i = 1; i <= 30 ; i+=){
if ( (4*i + (30 - i)*2) == 90 ){
rabbitCount = i;
break;
}
kichenCount = 30 - rabbitCount;
System.out.println("兔子的数量为:" + rabbitCount);
System.out.println("鸡的数量为:" + kichenCount );
kingssq 2008-04-25
  • 打赏
  • 举报
回复
这不是二元一次方程吗?
changjiangzhibin 2008-04-25
  • 打赏
  • 举报
回复
定下它们的数目上限,循环找符合要求的即可
莫情莫钱 2008-04-25
  • 打赏
  • 举报
回复
这个自己做做吧,帮你顶
huxinyu929 2008-04-25
  • 打赏
  • 举报
回复
这是个数学问题。
先按照2条腿酸。。。90/2=45;

在用45-30=15;酸出多的腿。说明剩下的是兔子腿。
也就是说至少剩下15只兔子的腿。

那么最多30-15=15只鸡的腿。

又因为。两只鸡的腿夹起来。等于一只兔子的腿。
所以是个多解问题。
huxinyu929 2008-04-25
  • 打赏
  • 举报
回复
look

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧