Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
haskell中带折叠的益智函数?_Haskell - Fatal编程技术网

haskell中带折叠的益智函数?

haskell中带折叠的益智函数?,haskell,Haskell,我很难弄清楚这个函数是如何工作的,我需要专家的解释。谢谢你的帮助 puzzle n x = scanr (\y acc -> (acc + y/acc)/2) 1 (replicate n x) 我试着运行这些: --puzzle 10 2 --puzzle 10 5 --puzzle 10 36 它分别给了我这个输出: [1.414213562373095,1.414213562373095,1.414213562373095,1.414213562373095,1.414213

我很难弄清楚这个函数是如何工作的,我需要专家的解释。谢谢你的帮助

puzzle n x = scanr (\y acc -> (acc + y/acc)/2) 1 (replicate n x)
我试着运行这些:

--puzzle 10 2

--puzzle 10 5

--puzzle 10 36
它分别给了我这个输出:

[1.414213562373095,1.414213562373095,1.414213562373095,1.414213562373095,1.414213562373095,1.414213562373095,1.4142135623746899,1.4142156862745097,1.4166666666666665,1.5,1.0]

[2.23606797749979,2.23606797749979,2.23606797749979,2.23606797749979,2.23606797749979,2.236067977499978,2.2360688956433634,2.238095238095238,2.3333333333333335,3.0,1.0]

[6.0,6.0,6.0,6.0,6.000000005333189,6.0002529841194185,6.055351744849479,6.872226737643129,10.222972972972974,18.5,1.0]

它生成一个n个x-e的列表,如[x,x,x,x,…](n次)

然后它所做的是:

x1 = ( 1 +  x/1)/2
x2 = (x1 + x/x1)/2
x3 = (x2 + x/x2)/2
x4 = (x3 + x/x3)/2

结果是,
[xn,x(n-1),…,x2,x1]

它生成一个类似[x,x,x,x,…]的nx-e列表(n次)

然后它所做的是:

x1 = ( 1 +  x/1)/2
x2 = (x1 + x/x1)/2
x3 = (x2 + x/x2)/2
x4 = (x3 + x/x3)/2

结果是,
[xn,x(n-1),…,x2,x1]

它生成一个类似[x,x,x,x,…]的nx-e列表(n次)

然后它所做的是:

x1 = ( 1 +  x/1)/2
x2 = (x1 + x/x1)/2
x3 = (x2 + x/x2)/2
x4 = (x3 + x/x3)/2

结果是,
[xn,x(n-1),…,x2,x1]

它生成一个类似[x,x,x,x,…]的nx-e列表(n次)

然后它所做的是:

x1 = ( 1 +  x/1)/2
x2 = (x1 + x/x1)/2
x3 = (x2 + x/x2)/2
x4 = (x3 + x/x3)/2

结果是,
[xn,x(n-1),…,x2,x1]

此函数使用牛顿公式计算平方根,并将所有迭代结果存储在列表中

是维基上的牛顿方法

存储过程基于功能的定义:

scanr与foldr类似,但返回一个列表 从右侧开始的连续减少值的


此函数使用牛顿公式计算平方根,并将所有迭代结果存储在列表中

是维基上的牛顿方法

存储过程基于功能的定义:

scanr与foldr类似,但返回一个列表 从右侧开始的连续减少值的


此函数使用牛顿公式计算平方根,并将所有迭代结果存储在列表中

是维基上的牛顿方法

存储过程基于功能的定义:

scanr与foldr类似,但返回一个列表 从右侧开始的连续减少值的


此函数使用牛顿公式计算平方根,并将所有迭代结果存储在列表中

是维基上的牛顿方法

存储过程基于功能的定义:

scanr与foldr类似,但返回一个列表 从右侧开始的连续减少值的


或者更确切地说,结果是
[x1,x2,…]
,因为所使用的函数实际上是
scanr
,而不是像OP所说的
foldr
。感谢大家提供的信息性评论和帖子!或者更确切地说,结果是
[x1,x2,…]
,因为所使用的函数实际上是
scanr
,而不是像OP所说的
foldr
。感谢大家提供的信息性评论和帖子!或者更确切地说,结果是
[x1,x2,…]
,因为所使用的函数实际上是
scanr
,而不是像OP所说的
foldr
。感谢大家提供的信息性评论和帖子!或者更确切地说,结果是
[x1,x2,…]
,因为所使用的函数实际上是
scanr
,而不是像OP所说的
foldr
。感谢大家提供的信息性评论和帖子!感谢您的帮助和解释扫描与折叠功能!感谢您的帮助和解释扫描与折叠功能!感谢您的帮助和解释扫描与折叠功能!感谢您的帮助和解释扫描与折叠功能!