这道题除法转换为减法是什么原理? 除法是减法的简便运算
“鸡兔同笼”的原理是什么?
鸡兔同笼
一、基本问题
“鸡兔同笼”是一类有名的中国古算题.最早出现在《孙子算经》中.许多小学算术应用题都可以转化成这类问题,或者用解它的典型解法--“假设法”来求解.因此很有必要学会它的解法和思路.
例1 有若干只鸡和兔子,它们共有88个头,244只脚,鸡和兔各有多少只?
解:我们设想,每只鸡都是“金鸡独立”,一只脚站着;而每只兔子都用两条后腿,像人一样用两只脚站着.现在,地面上出现脚的总数的一半,·也就是
244÷2=122(只).
在122这个数里,鸡的头数算了一次,兔子的头数相当于算了两次.因此从122减去总头数88,剩下的就是兔子头数
122-88=34,
有34只兔子.当然鸡就有54只.
答:有兔子34只,鸡54只.
上面的计算,可以归结为下面算式:
总脚数÷2-总头数=兔子数.
上面的解法是《孙子算经》中记载的.做一次除法和一次减法,马上能求出兔子数,多简单!能够这样算,主要利用了兔和鸡的脚数分别是4和2,4又是2的2倍.可是,当其他问题转化成这类问题时,“脚数”就不一定是4和2,上面的计算方法就行不通.因此,我们对这类问题给出一种一般解法.
还说例1.
如果设想88只都是兔子,那么就有4×88只脚,比244只脚多了
88×4-244=108(只).
每只鸡比兔子少(4-2)只脚,所以共有鸡
(88×4-244)÷(4-2)= 54(只).
说明我们设想的88只“兔子”中,有54只不是兔子.而是鸡.因此可以列出公式
鸡数=(兔脚数×总头数-总脚数)÷(兔脚数-鸡脚数).
当然,我们也可以设想88只都是“鸡”,那么共有脚2×88=176(只),比244只脚少了
244-176=68(只).
每只鸡比每只兔子少(4-2)只脚,
68÷2=34(只).
说明设想中的“鸡”,有34只是兔子,也可以列出公式
兔数=(总脚数-鸡脚数×总头数)÷(兔脚数-鸡脚数).
上面两个公式不必都用,用其中一个算出兔数或鸡数,再用总头数去减,就知道另一个数.
假设全是鸡,或者全是兔,通常用这样的思路求解,有人称为“假设法”.
现在,拿一个具体问题来试试上面的公式.
例2 红铅笔每支0.19元,蓝铅笔每支0.11元,两种铅笔共买了16支,花了2.80元.问红、蓝铅笔各买几支?
解:以“分”作为钱的单位.我们设想,一种“鸡”有11只脚,一种“兔子”有19只脚,它们共有16个头,280只脚.
现在已经把买铅笔问题,转化成“鸡兔同笼”问题了.利用上面算兔数公式,就有
蓝笔数=(19×16-280)÷(19-11)
=24÷8
=3(支).
红笔数=16-3=13(支).
答:买了13支红铅笔和3支蓝铅笔.
对于这类问题的计算,常常可以利用已知脚数的特殊性.例2中的“脚数”19与11之和是30.我们也可以设想16只中,8只是“兔子”,8只是“鸡”,根据这一设想,脚数是
8×(11+19)=240.
比280少40.
40÷(19-11)=5.
就知道设想中的8只“鸡”应少5只,也就是“鸡”(蓝铅笔)数是3.
30×8比19×16或11×16要容易计算些.利用已知数的特殊性,靠心算来完成计算.
实际上,可以任意设想一个方便的兔数或鸡数.例如,设想16只中,“兔数”为10,“鸡数”为6,就有脚数
19×10+11×6=256.
比280少24.
24÷(19-11)=3,
就知道设想6只“鸡”,要少3只.
要使设想的数,能给计算带来方便,常常取决于你的心算本领.
下面再举四个稍有难度的例子.
例3 一份稿件,甲单独打字需6小时完成.乙单独打字需10小时完成,现在甲单独打若干小时后,因有事由乙接着打完,共用了7小时.甲打字用了多少小时?
解:我们把这份稿件平均分成30份(30是6和10的最小公倍数),甲每小时打30÷6=5(份),乙每小时打30÷10=3(份).
现在把甲打字的时间看成“兔”头数,乙打字的时间看成“鸡”头数,总头数是7.“兔”的脚数是5,“鸡”的脚数是3,总脚数是30,就把问题转化成“鸡兔同笼”问题了.
根据前面的公式
“兔”数=(30-3×7)÷(5-3)
=4.5,
“鸡”数=7-4.5
=2.5,
也就是甲打字用了4.5小时,乙打字用了2.5小时.
答:甲打字用了4小时30分.
例4 今年是1998年,父母年龄(整数)和是78岁,兄弟的年龄和是17岁.四年后(2002年)父的年龄是弟的年龄的4倍,母的年龄是兄的年龄的3倍.那么当父的年龄是兄的年龄的3倍时,是公元哪一年?
解:4年后,两人年龄和都要加8.此时兄弟年龄之和是17+8=25,父母年龄之和是78+8=86.我们可以把兄的年龄看作“鸡”头数,弟的年龄看作“兔”头数.25是“总头数”.86是“总脚数”.根据公式,兄的年龄是
(25×4-86)÷(4-3)=14(岁).
1998年,兄年龄是
14-4=10(岁).
父年龄是
(25-14)×4-4=40(岁).
因此,当父的年龄是兄的年龄的3倍时,兄的年龄是
(40-10)÷(3-1)=15(岁).
这是2003年.
答:公元2003年时,父年龄是兄年龄的3倍.
除法为啥是减法的简便运算
解:是这样:如从5里面连续减去0.5,需要减几次才能减完?
5-0.5-0.5-0.5-0.5-0.5-0.5-0.5-0.5-0.5-0.5=0
5÷0.5=10
二进制的减法是什么原理?
二进制的减法运算法则是:
0-0=1-1=0
1-0=1
0-1=1(向高位借位)
例如,(11000011)2-(00101101)2的算式如下:
11000011 被减数
00101101 减数
---1111 借位 (减号是对齐美观用的)
-------------------
10010110 差数
这个借位其实很容易理解的,向前一位借一,计算到该位时再减去一即可.
比如被减数0,减数1,算法应该是0-1=1(向高位借一)但是该被减数被后面的借了一位,那么现在的算式应该是0-1-1=0(减掉被借的1,再向高一位借1)以此循环至到没有可借的为止.
二进制的加法运算法则是:
0+0=0
0+1=1+0=1
1+1=0(向高位进位)
例如,(110)2+(1011)2的算式如下:
+110 被加数 (加号是对齐美观用的)
1011 加数
111 进位
----------------
10001 和数
二进制的乘法运算法则是:
0*0=0
0*1=1*0=0
1*1=1
二进制的乘法可以归结为"复位+移位"操作.移位像加法运算那样
二进制的除法运算法则是:
0/1=0(1/0无意义)
1/1=1
在计算机内部,二进制数的加法是基本运算,利用加法可以实现二进制数的减法、乘法和除法运算。其原理主要是应用了“补码”运算
二进制补码
数值在计算机中表示形式为机器数,计算机只能识别0和1,使用的是二进制,而在日常生活中人们使用的是十进制,"正如亚里士多德早就指出的那样,今天十进制的广泛采用,只不过我们绝大多数人生来具有10个手指头这个解剖学事实的结果.尽管在历史上手指计数(5,10进制)的实践要比二或三进制计数出现的晚."(摘自<<数学发展史>>有空大家可以看看哦~,很有意思的).为了能方便的与二进制转换,就使用了十六进制(2 4)和八进制
1.数值有正负之分,计算机就用一个数的最高位存放符号(0为正,1为负).这就是机器数的原码了.假设机器能处理的位数为8.即字长为1byte,原码能表示数值的范围为
(-127~-0 +0~127)共256个.
I.有了数值的表示方法就可以对数进行算术运算.但是很快就发现用带符号位的原码进行乘除运算时结果正确,而在加减运算的时候就出现了问题,如下: 假设字长为8bits
( 1 )?10-? ( 1 )10?=? ( 1 )10?+ ( -1 )10?= ?( 0 )10
(00000001)原?+ (10000001)原?= (10000010)原?= ( -2 )?显然不正确.
II.因为在两个整数的加法运算中是没有问题的,于是就发现问题出现在带符号位的负数身上,对除符号位外的其余各位逐位取反就产生了反码.反码的取值空间和原码相同且一一对应. 下面是反码的减法运算:
?( 1 )10?-? ( 1 )?10=? ( 1 )?10+ ( -1 )?10= ?( 0 )10
?(00000001)?反+ (11111110)反?=? (11111111)反?=? ( -0 ) ?有问题.
( 1 )10?-? ( 2)10?=? ( 1 )10?+ ( -2 )10?= ?( -1 )10
(00000001)?反+ (11111101)反?=? (11111110)反?=? ( -1 )?正确
问题出现在(+0)和(-0)上,在人们的计算概念中零是没有正负之分的.(印度人首先将零作为标记并放入运算之中,包含有零号的印度数学和十进制计数对人类文明的贡献极大).
于是就引入了补码概念. 负数的补码就是对反码加一,而正数不变,正数的原码反码补码是一样的.在补码中用(-128)代替了(-0),所以补码的表示范围为:
(-128~0~127)共256个.
注意:(-128)没有相对应的原码和反码, (-128) = (10000000) ?补码的加减运算如下:
( 1 )10- ( 1 )?10=? ( 1 )10?+ ( -1 )10?= ?( 0 )10
(00000001)补?+ (11111111)补?=? (00000000)补?= ( 0 )?正确
( 1 )?10-? ( 2)?10=? ( 1 )10?+ ( -2 )10?= ?( -1 )10
(00000001)?补+ (11111110)?补=? (11111111)补?= ( -1 ) ?正确
所以补码的设计目的是:
⑴使符号位能与有效值部分一起参加运算,从而简化运算规则.
⑵使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计
? 所有这些转换都是在计算机的最底层进行的,而在我们使用的汇编、C等其他高级语言中使用的都是原码。看了上面这些大家应该对原码、反码、补码有了新的认识了吧!
如何将除法变为加减法?
四则运算始于加法。可将除法变为乘法,除法是乘法的逆运算,然后再转化为加减法运算。