二战期间,俄国的数学家Jakow Trachtenberg(1888-1953)被关进纳粹集中营,在狱中,他开发出了一套心算算法,这套算法后来被命名为Trachtenberg(特拉亨伯格)速算系统。

有比较才能有差别。在对比之前先来看一下我们传统教育中是怎么计算的,以乘法为例,学校里教的是酱紫的算式:

舍得直接引用Wiki上相关介绍页面的实例, 以乘法为例,计算123456 x 789的值。

俗话说,有比较才能有差别。我们学校里教的是酱紫的算式:

再来看看Trachtenberg是怎么来算的,计算出的值从右至左分别为:

第1位(右起,下同):先算6 x 9,取个位,得到4; 来个示意图:

第2位:依次取9 x 5的个位,9 x 6的十位,

8 x 6的个位,加起来:

5 + 5 + 8 = 18

所以第2位就是8,把十位上的1带到第3位计算;示意图如下,垂直的箭头表示取这两数乘积的个位,斜的箭头则表示取乘积的十位(下同):

第3位:依次取9 x 4的个位,9 x 5的十位,

8 x 5的个位,8 x 6的十位,

7 x 6的个位,

以及上一步的进位(1),加起来

6 + 4 + 0 + 4 + 2 + 1 = 17

所以第3位是7,照例将十位上的1带到下一步计算; 示意图如下:

第4位:依次取9 x 3的个位,9 x 4的十位,

8 x 4的个位,8 x 5的十位,

7 x 5的个位,7 x 6的个位,

以及上一步的进位(1),加起来:

7 + 3 + 2 + 4 + 5 + 4 + 1 = 26

所以第3位是6,照例将十位上的2带到下一步计算;示意图如下:

看出点什么来了没?我们只要每次将舍得用红线圈出的三组箭头往前移动一位,就可以知道要加哪些数。这三组箭头“可以”在计算第1位时就存在,想象一下!

所以后面几位的计算就很简单,照这个规律来就是。

第5位:

第6位:

第7位:下图中,要注意的是9 x 1的十位还是要取的,只不过该位无数值,以0代替而已;

第8位:同样,8 x 1的十位为0;

第9位:继续把箭头组往左推一位,可发现,只要计算7 x 1的十位,由于值为0,所以第9位为0,忽略。

好了,整个运算过程介绍完了。在这个计算过程中,计算者主要做了:

  • 在纸横向列出算式;
  • 按规则从右至左算出并写下每一位数,书写位置参考上面的示意图;
  • 计算的过程很简单:会九九乘法表和简单数的相加即可;
  • 心算的负担很轻,只要存住每次的进位就行,据称,这样的储存用一只手就能搞定;

这套算法不但算起来很快,而且很简单。有兴趣的童鞋可以自行通过英文版的《The Trachtenberg Speed System of Basic Mathematics》学习,这本书是Ann Cutler和Rudolph McShane编译的,详细地介绍了Trachtenberg速算系统的使用。家有适龄孩子的童鞋,学会后可以当孩子们的老师哦!

书的原版购买链接在这里:特拉亨伯格速算法

附《The Trachtenberg Speed System of Basic Mathematics》下载地址:

链接:http://pan.baidu.com/s/1mhTSMwS 密码:z6od

【经验分享】Trachtenberg system(特拉亨伯格速算系统)的更多相关文章

  1. 【经验分享(续篇)】Trachtenberg system(特拉亨伯格速算系统)

    之前有篇文章简单地介绍了Trachtenberg系统的乘法计算方法,地址在这里.针对一些特定的数字,Trachtenberg还发展出了更快的计算方法. 先来介绍乘数为11的速算方法.它的计算规则我们可 ...

  2. Trachtenberg(特拉亨伯格)速算系统

    二战期间,俄国的数学家Jakow Trachtenberg(1888-1953)被关进纳粹集中营,在狱中,他开发出了一套心算算法,这套算法后来被命名为Trachtenberg(特拉亨伯格)速算系统. ...

  3. 【原创经验分享】WCF之消息队列

    最近都在鼓捣这个WCF,因为看到说WCF比WebService功能要强大许多,另外也看了一些公司的招聘信息,貌似一些中.高级的程序员招聘,都有提及到WCF这一块,所以,自己也关心关心一下,虽然目前工作 ...

  4. (转)CMOS Sensor的调试经验分享

    CMOS Sensor的调试经验分享 我这里要介绍的就是CMOS摄像头的一些调试经验. 首先,要认识CMOS摄像头的结构.我们通常拿到的是集成封装好的模组,一般由三个部分组成:镜头.感应器和图像信号处 ...

  5. Expression Blend4经验分享:文字公告无缝循环滚动效果

    这次分享一个类似新闻公告板的无缝循环滚动效果,相信很多项目都会应用到这个效果.之前我也百度了一下,网上的一些Silverlight的文字或图片滚动效果,都是一次性滚动的,如果要做到无缝循环滚动,多数要 ...

  6. Expression Blend4经验分享:制作一个简单的图片按钮样式

    这次分享如何做一个简单的图片按钮经验 在我的个人Silverlight网页上,有个Iphone手机的效果,其中用到大量的图片按钮 http://raimon.6.gwidc.com/Iphone/de ...

  7. CMOS Sensor的调试经验分享

    转自:http://bbs.52rd.com/forum.php?mod=viewthread&tid=276351 CMOS Sensor的调试经验分享 我这里要介绍的就是CMOS摄像头的一 ...

  8. 【老司机经验】CC2530&STM8S105二合一嵌入式学习板设计思路与经验分享

    CC2530&STM8S105二合一嵌入式学习板设计思路与经验分享 1.缘起    这些年来一直在其他公司的实验箱和别人的开发板上进行教学与开发工作,总是觉得功能设计不那么合意.心里突然冒出个 ...

  9. 沉淀,再出发——在Ubuntu Kylin15.04中配置Hadoop单机/伪分布式系统经验分享

    在Ubuntu Kylin15.04中配置Hadoop单机/伪分布式系统经验分享 一.工作准备 首先,明确工作的重心,在Ubuntu Kylin15.04中配置Hadoop集群,这里我是用的双系统中的 ...

随机推荐

  1. 彻底弄懂AngularJS中的transclusion

    点击查看AngularJS系列目录 彻底弄懂AngularJS中的transclusion AngularJS中指令的重要性是不言而喻的,指令让我们可以创建自己的HTML标记,它将自定义元素变成了一个 ...

  2. MySQL高级查询(二)

    EXISTS 和NOT EXISTS子查询 EXISTS子查询 语法:   SELECT ……… FROM 表名 WHERE EXISTS (子查询); 例: SELECT `studentNo` A ...

  3. Vuex 学习笔记

    Vuex 是什么? Vuex 是一个专为 Vue.js应用程序开发的状态管理模式.由于SPA应用的模块化,每个组件都有它各自的数据(state).视图(view)和方法(actions),当项目内容越 ...

  4. 自测-4 Have Fun with Numbers

    Notice that the number 123456789 is a 9-digit number consisting exactly the numbers from 1 to 9, wit ...

  5. Docker 最常用的监控方案 - 每天5分钟玩转 Docker 容器技术(78)

    当 Docker 部署规模逐步变大后,可视化监控容器环境的性能和健康状态将会变得越来越重要. 在本章中,我们将讨论几个目前比较常用的容器监控工具和方案,为大家构建自己的监控系统提供参考. 首先我们会讨 ...

  6. Node.js学习之TCP/IP数据通讯

    Node.js学习之TCP/IP数据通讯 1.使用net模块实现基于TCP的数据通讯 提供了一个net模块,专用于实现TCP服务器与TCP客户端之间的通信 1.1创建TCP服务器 在Node.js利用 ...

  7. 【vue系列之二】详解vue-cli 2.0配置文件

    上次给大家分享的是用vue-cli快速搭建vue项目,虽然很省时间和精力,但想要真正搞明白,我们还需要对其原理一探究竟. 大家拿到一个项目,要快速上手,正确的思路是这样的: 首先,如果在项目有read ...

  8. Python之scrapy安装

    1.按照网上教程一步步实验,运行时报错: 'HtmlResponse' object has no attribute 'xpath' in scrapy 个人使用的是scrapy0.14.4,搜索得 ...

  9. html加载时事件触发顺序

    一般情况下页面的响应加载顺序时,域名解析-加载html-加载js和css-加载图片等其他信息. jq ready()的方法就是Dom Ready,他的作用或者意义就是:在DOM加载完成后就可以可以对D ...

  10. JS在可编辑的div中的光标位置插入内容或表情

    <input type="button" value="插入字符" onclick="document.getElementById('test ...