十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
以“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”为例
我们提供的服务有:网站设计、做网站、微信公众号开发、网站优化、网站认证、和田ssl等。为超过千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的和田网站制作公司
public class test {
public static void main(String[] args) {
int x,y; //x:鸡 y:兔
for(x=0;x=35;x++) { //遍历鸡的只数
y=35-x; //兔的只数等于35 - 鸡
if(2*x+4*y==94) //如果鸡和兔的脚总数是94
System.out.println("鸡"+x+"只,兔"+y+"只");
}
}
}
一只鸡是一个头两只脚
一只兔是一个头四只脚
我的算法就是用for循环最多进行35(头的数量)次循环,每循环一次减去一个头只四脚,相当于抓一只免子出来,当笼子里头的数量乘以2刚好等于脚的数量的时候,就说明笼子里全是鸡了,这样就可以知道各自的数量了,以下是核心代码:
int head = 35, foot = 94;
int countChicken, int countRabbit;
for(int i = 0; i 35; i++){
if(head * 2 == foot){
countChicken = head;
break;
}
head -= 1;
foot -= 4;
countRabbit++;
}
System.out.println("鸡的数量:" + countChicken);
System.out.println("兔子的数量:" + countRabbit);
以“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”为例
public class test {
public static void main(String[] args) {
int x,y; //x:鸡 y:兔
for(x=0;x=35;x++) { //遍历鸡的只数
y=35-x; //兔的只数等于35 - 鸡
if(2*x+4*y==94) //如果鸡和兔的脚总数是94
System.out.println("鸡"+x+"只,兔"+y+"只");
}
}
}
用“java”实现鸡兔同笼问题如下:
System.out.println("---------鸡兔同笼问题------");
int head, foot;
int ji[] = { 0 }, tu[] = { 0 };
System.out.print("输入头数:");
Scanner scanner = new Scanner(System.in);
head = scanner.nextInt();
System.out.print("输入脚数:");
foot = scanner.nextInt();
JTTL(head,foot,tu,ji);
System.out.println("鸡有"+ji[0]+"个"+","+"兔有"+tu[0]+"个");
}
private static void JTTL(int head, int foot, int[] tu, int[] ji) {// TODO Auto-generated method stubtu[0]=foot/2-head;ji[0]=2*head-foot/2;}}
完整代码如下,复制到eclipse中运行
import java.util.Scanner;
/**
* 鸡兔同笼java程序头20个,腿62
* @author Administrator
*
*/
public class Cube {
public static void main(String args[]) {
int head = 0;
int foot = 0;
String in = "";
String[] parameters;
Scanner input = new Scanner(System.in);
System.out.println("请输入头和脚的数量(用英文逗号隔开):");
try {
while (true) {
in = input.next();
parameters = in.split(",");
head = Integer.parseInt(parameters[0]);
foot = Integer.parseInt(parameters[1]);
if (foot 2 || foot % 2 != 0) {
System.out.println("请输入正确的脚数...");
continue;
} else {
break;
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("输入有误!程序退出。");
System.exit(-1);
}
int ji = 0, tuMax;
tuMax = foot / 4; // 兔子的最大值
for (int tu = 0; tu = tuMax; tu++) {
ji = (foot - 4 * tu) / 2; // 从兔子个数为0开始测试,穷举所有情况
if (ji + tu == head) { // 如果鸡兔数量=头数,则输出
System.out.println("鸡有" + ji + "只\t兔子有" + tu + "只");
}
}
}
}
运行结果如图: