新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
public static void main (String[]args){
市南ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
int rabbitsNumber=0;
int chickensNumber=0;
for(chickensNumber=0;chickensNumber=9;chickensNumber++) { //遍历鸡的只数
rabbitsNumber=9-chickensNumber; //兔的只数等于9 - 鸡
if(2*chickensNumber+4*rabbitsNumber==26) //鸡和兔的脚总数是26
System.out.println("鸡"+chickensNumber+"只,兔"+rabbitsNumber+"只");
}
}
以“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”为例
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;}}
以“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”为例
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+"只");
}
}
}
完整代码如下,复制到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 + "只");
}
}
}
}
运行结果如图:
一只鸡是一个头两只脚
一只兔是一个头四只脚
我的算法就是用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);