1-4 鸡兔同笼(算法竞赛经典入门)

本文通过一个简单的C++代码示例,阐述了计算机如何处理数学问题,尤其是不能直接计算方程式而需要明确指令的情况。讨论了逻辑运算符的短路特性,以及在判断条件中使用绝对值函数的意义。代码中,通过检查腿的总数为偶数及变量的非负性来确定解的存在性。同时,复习了不同类型的绝对值函数,如abs(int)和fabs(double)。
摘要由CSDN通过智能技术生成

这个属于初级阶段传递给初学者的一个思想,那就是计算机是不可以计算方程式的,需要你具体的告诉它每一步需要做什么。

源码如下:

#include<iostream>
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int m,n;
	double x,y;
	cin>>n>>m;
	
	x=(4*n-m)/2;
	y=n-x;
	//if(x==fabs(x)&&x>=0&&y>=0)            //我的想法  
	if(m%2!=0&&x>=0&&y>=0)                  //题解的思路 
	{
		cout<<x<<" "<<n-x<<endl;
	}
	else
	{
		cout<<"No answer"<<endl;
	}
	return 0;
}

这里我的想法比较简单直接,直接考虑鸡和兔的个数为整,且大于等于0。
题解的思路也不错,即腿的总数量一定为偶数,奇数的直接输出no answer。

收获:
1.逻辑运算法都是短路运算符。
“||”逻辑或前为真,即后不判。
&&“逻辑与前为假,即后不判。
2.绝对值函数的复习
abs(int) 整数绝对值
fabs(double) 实数绝对值
fabsf(float) 浮点数绝对值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值