脑弄大开之——如何抛弃数字和运算符号只用计算机和函数进行运算
来源:互联网 发布:香港旅游 知乎 编辑:程序博客网 时间:2024/05/17 07:44
脑洞大开
很久很久以前,有个叫阿隆佐·邱奇的帅哥,发现只需要用函数,就可以用计算机实现运算,而不需要0、1、2、3这些数字和+、-、*、/这些符号。
JavaScript支持函数,所以可以用JavaScript用函数来写这些计算。来试试:
'use strict';// 定义数字0:var zero = function (f) { return function (x) { return x; }};// 定义数字1:var one = function (f) { return function (x) { return f(x); }};// 定义加法:function add(n, m) { return function (f) { return function (x) { return m(f)(n(f)(x)); } }}
// 计算数字2 = 1 + 1:var two = add(one, one);// 计算数字3 = 1 + 2:var three = add(one, two);// 计算数字5 = 2 + 3:var five = add(two, three);// 你说它是3就是3,你说它是5就是5,你怎么证明?// 呵呵,看这里:// 给3传一个函数,会打印3次:(three(function () { console.log('print 3 times');}))();// 给5传一个函数,会打印5次:(five(function () { console.log('print 5 times');}))();
阅读全文
0 0
- 脑弄大开之——如何抛弃数字和运算符号只用计算机和函数进行运算
- MatLab常见函数和运算符号
- Java基础知识之变量和运算符号
- Javascript—字符串和数字运算
- 第18周项目2-找数字和运算符号
- 数据结构——只用赋值、自增和循环操作实现减法运算
- 赋值运算符和比较运算符号
- Matlab中的符号变量和符号运算
- 有符号和无符号数运算
- PHP常用特殊运算符号和函数总结
- printf和scanf函数、unsigned无符号运算符
- 只用逻辑运算和移位运算求两个数的平均数
- MYSQL——运算符和函数
- 杂货边角(1):计算机中有符号数和浮点数表示和运算
- Python类型和运算--数字
- 数据库之运算符和函数
- mysql之运算符和函数
- MySQL之运算符和函数
- 进制转换
- mysql锁隔离机制
- RTP-RTCP协议分析
- UVA1252[Twenty Questions] 状态压缩动态规划模型
- [编程题] 序列交换
- 脑弄大开之——如何抛弃数字和运算符号只用计算机和函数进行运算
- 自己动手写java 字节流输入输出流
- 内部类
- 二listview多条目加载
- Android--(2)--详解线性布局(LinearLayout)
- Git常见命令总结
- The study of calling fuction in Python(20170907)
- nefu 84 五指山(扩展ou'ji'li)
- 应用服务器的调优