基本算法练习 200 问题 11:鸡兔同笼
????前言???? ????博客:【红目香薰的博客_****博客-计算机理论,2022年蓝桥杯,MySQL领域博主】???? ✍本文由在下【红目香薰】原创,首发于****✍ ????2022年最大愿望:【服务百万技术人次】???? ????专栏地址:【https://blog.****.net/feng8403000/category_11958599.html】????
为了帮助很多想搞算法但又害怕自己搞不定的孩子们,老师付准备了200个入门的逻辑练习题,在这200个逻辑练习题下可以加强你们的基础算法能力,以次为基础当面对正式的算法题目的时候可以得心应手的面对。
题目:
鸡与兔共100只,鸡的腿数比兔的腿数少28条,问鸡与兔各有几只?
题解:
这个题是每个穿越者都拿着装逼的题,其实现在这个年龄看,好无聊的题,咱们不设定变量,直接算。
假设:
全都是鸡那就是200条腿
全都是兔子就是400条腿
差值有200条腿。。。。。实际本题差值是28条,鸡腿<兔腿,共计28条。肯定至少14只鸡了。
100-14=86兔子
实验一下呗,14*2+86*4=28+344=372条
我的天啊,腿有点多啊。
372条腿肯定是属于100个动物的,那么一起算试试。鸡脚*2+兔腿*4=6条腿,
372/6=62个不知道啥动物。
鸡腿<兔腿,共计28条,因为差不多,所以多的肯定是鸡。先把62当做鸡。
兔子:100-62=38
测试数据:38*4-62*2=152-124=28
诶呦,还真猜想对了。
列方程:
x+y=100 2x+28=4y x=100-y 200-2y+28=4y 228=6y 38=y 直接出答案, x=100-38=62 y=38
暴力试试:(二元一次方程)
package com.item.action;
public class demo11 {
public static void main(String[] args) {
// TODO Auto-generated method stub
for (int i = 1;i<100; i++) {
for (int j = 1;j<100; j++) {
if((i+j)==100&&(2*i+28)==(4*j)) {
System.out.println(i);
System.out.println(j);
return;
}
}
}
}
}
下一篇: acm C 鸡兔问题