Java:有关鸡兔同笼的算法

package ChongXingZuo;
/**鸡兔同笼:
 * 
**今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?
**分析:设所求的兔子数是rabbit只,鸡数是chicken只,
**已知笼子里的头数是head,脚数是foot,
**依题意,得到如下的方程组:
**rabbit+chicken=head,2*chicken+4*rabbit=foot
**
**解得:chicken=head-rabbit,rabbit=(foot-head*2)/2
*@author 暮之沧蓝
*/
import java.util.Scanner;

public class ChickenAndRabbit {
	public static void ChickenAndRabbit(int head, int foot, int[] rabbit, int[] chicken) {
		/**创建静态方法,输入参数head,foot;
		 * 输入参数rabbit为指向兔子数量的引用,
		 * 参数chicken为指向鸡数量的引用,
		 * 这里采用引用保存兔子和鸡的数量,便于返回结果
		 */
		 rabbit[0] = (foot - 2 * head) / 2;
		 chicken[0] = head - rabbit[0];
/** 
 *  或者:rabbit[0] = foot/2-head;
 * 	     chicken[0] = 2*head-foot/2;		
 */
	}
	public static void main(String[] args) {
		int[] rabbit= {0},chicken= {0};
		Scanner in = new Scanner(System.in);
		System.out.println("请输入头数:");
		int head = in.nextInt();
		System.out.println("请输入脚数:");
		int foot = in.nextInt();
		ChickenAndRabbit(head, foot, rabbit, chicken);
		System.out.printf("鸡有:%d只,兔子有:%d只\n",chicken[0],rabbit[0]);
	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值