gpt4 book ai didi

math - 泛化算术运算符

转载 作者:行者123 更新时间:2023-12-03 00:37:16 24 4
gpt4 key购买 nike

两个数字的乘法可以通过算法来定义,如下所示:“将第一个数字与其自身相加,次数等于第二个数字的值”。两个数字的求幂可以通过算法来定义,如下所示:“将第一个数字乘以等于第二个数字的值的次数”。思考乘法和求幂的这些定义引发了一些问题......

首先,能否以加法为基本运算来定义一类算术运算?我写了一些 haskell 代码来测试这个想法:

order1 x y = x + y
order2 x y = foldl (order1) x (replicate (y - 1) x)
order3 x y = foldl (order2) x (replicate (y - 1) x)
order4 x y = foldl (order3) x (replicate (y - 1) x)
order5 x y = foldl (order4) x (replicate (y - 1) x)

果然,“order2”的含义是乘法,“order3”的含义是求幂。据我所知,英语中缺少表示“orderN”(其中 N > 3)的单词。数学界对这些运算有什么有趣的说法吗?

此外,考虑到这些“顺序”函数的递归外观,如何编写这样的函数:

generalArithmetic :: Int -> Int -> Int -> Int
generalArithmetic n x y = --Comment: what to put here?

当n等于2时表示乘法,当n等于3时表示求幂...?

此外,如何概括这些算术函数,以便它们可以对所有实数进行运算?毕竟,“replicate”的类型是 Int -> a -> [a]。

最佳答案

是的。您可以从皮亚诺算术作为第一顺序(增量)开始

Brainf*ck仅具有增量、减量和非零值检查。即使这样,它也可以进行任何其他计算机程序可以进行的任何计算,只要它始终有足够的内存并且您不急于获得答案。

此类属性称为 Turing completenessBrainf*ck即使没有输入和输出也是如此。因此,< , > , + , - , [ ,和]您可以编写一个程序来解决其他编程语言可以解决的所有数学问题。

到目前为止,我已经编写了用它进行加法、减法、平均、乘法、除法、模数和平方根的程序。

关于math - 泛化算术运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18068683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com