5种很牛的两位数乘法速算方法

5种很牛的两位数乘法速算方法

第一种:十几乘以任意两位数

公式推导

(10+b)(10c+d) = 100c+10(bc+d)+bd = 10(10c+bc+d)+bd

= 10( (10c+d) +bc ) + bd

 

方法:

如果c=1,公式是:(10+b)(10+d) = 10( 10+d +b ) + bd

那么就是一个因数,加上另一个因数的尾数,做前积;

两个因数的乘积,做尾积

应用举例:

11x11=|11+1||1x1| = 121

12x14=|12+4||2x4|=168

13x13=|13+3||3x3|=169

 

方法:

如果c>1,

公式是:(10+b)(10c+d) 10( (10c+d) +bc ) + bd

那么就是

1.较小的因数的尾数乘以大因数的头;

2.将该结果,加上大因数,作为前积;

3.两因数的尾相乘,作为后积;

 

应用举例:

22x14=(22+4x2)x10+2x4=30x10+8=308

23x13=(23+2x3)x10+3x3=29x10+9=299

26x17=(26+2x7)x10+6x7=40x10+42=442

48x19=(48+4x9)x10+8x9=840+72=912

 

第二种:大一点的因数尾数是6789

公式推导:

AB=(A-m)(B+m)+m(B+m-A)

 

应用举例:

19x19A,B分别是19m1.

19x19=18x20+1x1=361

18x18=16x20+2x2=324

17x17=14x20+3x3=289

16x16=12x20+4x4=240+16=256

 

39x39=38x40+1=1521

27x28=25x30+2x3=756

46x48=44x50+2x4=2208

 

94x99=93x100+1x6=9306

87x98=85x100+2x13=8526

38x48=36x50+2x12=1824

 

第三种:九十几乘以就是九十几

公式推导:

(90+a)(90+b)= 8100 + 90(a+b)+ ab= 8000+100+90(a+b)+ab

= 8000+100(a+b)+ 100-10(a+b)+ab

=100(80+a+b)+(10-a)(10-b)

 

方法:

对于任意两个大于90的两位数的乘积,其积必定是四位数,

其左边两位数总是等于80加上加上两个因数的尾数;

其右边两位是两个因数的尾数的补数的乘积。

 

应用举例:

91x92=|80+1+2||9x8|=8372

93x93=|80+3+3||7x7|=8649

94x94=|80+4+4||6x6|=8836

95x96=|80+5+6||5x4|=9120

99x99=|80+9+9||1x1|=9801

97x97=|80+7+7||3x3|=9409

 

第四种:求两位数的平方

公式推导:

A² = (A-d)(A+d) + d²

(A+d)² = A(A+2d) + d²

(A-d)² = A(A-2d) + d²

 

应用举例:

99x99=98x100+1=9801

98x98=96x100+2x2=9604

97x97=94x100+3x3=9409

 

71x71=72x70+1=5041

72x72=74x70+4=5184

73x73=76x70+9=5329

74x74=78x70+16=5476

66x66=(66-16)(66+16) + 16 x16= 50x82 +256=4356

第五种:补商法

公式推导:

10a+b)(10c+d=100ac + 10(ad + bc) + bd

=10(10ac+ad+bc) + bd

=10(cx(10a+b)+ad) + bd

=10c ( (10a+b) + ad/c) + bd

 

应用场景:

补商法特别适用于c能够整除axd的乘法。

 

应用举例:

23x13=(23+2x3)x10+3x3=299

33x12=(33+3x2)x10+3x2=396

46x11=(46+4x1)x10+6x1=506

28x77=(28+2x7 / 7)x70+8x7=30x70+56=2156

82x55=(82+ 8 x 5 / 5)x50+2x5=90x50+10=4510

46x82=(46+4x2/8)x80+6x2=47x80+12=3772

 

补充说明:

如果c不能整除axd的时候,10a+b先加上axd/c的整数部分进行运算,余几就在原来的结果上再加上几十。

应用举例:

84x65=(84+8x5/6)x60 + 4x10+4x5=(84+6)x60+40+20=5460

73x32=(73+ 7x2/3) x30 + 2x10+3x2=77x30+26=2310+26=2336

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
好的,我来给你计算斐波那契数列的前10项。 首先,斐波那契数列是这样的数列:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ... 其中,第一项是0,第二项是1,从第三项开始,每一项都是前两项的和。 接下来,我们分别使用循环算法和递归算法来计算斐波那契数列的前10项。 1. 循环算法 循环算法比较简单,我们可以使用一个for循环来依次计算每一项的值,并存储在一个数组中。代码如下: ``` #include <stdio.h> int main() { int fib[10] = {0, 1}; // 初始化前两项 int i; for (i = 2; i < 10; i++) { fib[i] = fib[i-1] + fib[i-2]; // 计算第i项的值 } for (i = 0; i < 10; i++) { printf("%d ", fib[i]); // 输出前10项 } return 0; } ``` 输出结果为:0 1 1 2 3 5 8 13 21 34 2. 递归算法 递归算法比较复杂,我们需要定义一个函数来计算第n项的值。递归算法的思路是:如果要计算第n项的值,就先计算第n-1项和第n-2项的值,然后将它们相加。需要注意的是,递归算法的效率比较低,因为它会重复计算很多项的值。代码如下: ``` #include <stdio.h> int fibonacci(int n) { if (n < 2) { return n; // 前两项的值分别为0和1 } else { return fibonacci(n-1) + fibonacci(n-2); // 递归计算第n项的值 } } int main() { int i; for (i = 0; i < 10; i++) { printf("%d ", fibonacci(i)); // 输出前10项 } return 0; } ``` 输出结果为:0 1 1 2 3 5 8 13 21 34 以上就是使用循环算法和递归算法计算斐波那契数列的前10项的方法

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

littletigerat

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值