鸡兔同笼问题----已知鸡和兔的总数量为n,总腿数为m,输入n和m,依次输出鸡的数目和兔的数目。如果无解,则输出 No answer。

已知鸡和兔的总数量为n,总腿数为m,输入n和m,依次输出鸡的数目和兔的数目。如果无解,则输出 No answer。

假设鸡有a只,兔有b只,则 a+b=你n,2a+4b=m;联立解得 a=(4n-m)/2    b=n-a;

在什么情况下此解不作数呢,a和b都应该是正整数。

//已知鸡和兔的总数量为n,总腿数为m。输入 n和m,依次输出鸡的数目和兔的数目。
#include<stdio.h>
int main() {
	int n, m;
	scanf_s("%d%d", &n, & m);
	int a, b;
	a = (4*n-m)/2;
	b = n - a;
	if (a <= 0 || b <= 0 || m % 2 == 1)
		printf("No Answer");
	else
		printf("%d  %d\n", a, b);
	return 0;

}

上面的程序用到了if语句,其一般格式是:

if(条件)

        语句1;

else

        语句2;

注意语句1和2后面的分号,以及if后面的括号。条件是一个表达式,当该表达式的值为true时,执行语句1;否则执行语句2;另外 else语句是可以忽略的。语句1和语句2前面的空行不是必须的,只是为了程序更加美观,但是强烈推荐使用。

一些逻辑运算符

&&将两个表达式连接成一个。两个表达式必须都为 true,整个表达式才为 true
||将两个表达式连接成一个。必须有一个或两个表达式为 true,才能使整个表达式为 true。只要其中有一个为 true,那么另外一个就变得无关紧要
反转一个表达式的“真相”。它使一个表达式从 true 变成了 false,或者从 false 变成了 true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值