鸡兔同笼问题

笼子里有若干只鸡和兔子,鸡有两只脚,兔子有四只脚,没有例外情况下已知笼子里脚的数量,问笼子里至多有多少只动物?至少有多少只动物?

算法:鸡兔同笼问题Feets

输入:脚的数量n

输出:至多的动物数maxNum,至少的动物数minNum

1.如果n是奇数,则没有满足要求的解,maxNum=0,minNum=0;

2.如果n是偶数且能被4整除,则maxNum=n/2,minNum=n/4;

3.如果n是偶数但不能被4整除,则maxNum=n/2,minNum=(n-2)/4+1;

4.输出maxNum和minNum;

#include <iostream>
using namespace std;

void Feets(int n, int &maxNum, int &minNum); 

int main( )
{
    int n, maxNum, minNum;
	cout<<"请输入脚的个数:";
    cin>>n;
    Feets(n, maxNum, minNum); 
	cout<<maxNum<<"  "<<minNum<<endl;
	return 0; 	
}

void Feets(int n, int &maxNum, int &minNum)
{
   	if (n % 2 != 0) {maxNum = 0; minNum = 0;}
   	else if (n % 4 == 0) {maxNum = n/2; minNum = n/4;}
   	else {maxNum = n/2; minNum = (n-2)/4 + 1;}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值