小编Ram*_*Ram的帖子

是否可以使用[编辑:一组非常有限的知识]创建斐波纳契数列表?

例如,以这样的形式:

let f = [ a | a <- [1..], a == a - 1]
Run Code Online (Sandbox Code Playgroud)

我只是好奇.它似乎有可能,但我无法完全理解它是如何工作的.这个问题更多的是为了理解Haskell的工作原理,而不是因为我正在寻找一个实际的应用程序.

此外,我知道有类似的问题已被提出,但我所看到的帖子都没有提供任何帮助,因为我很好奇.

编辑:抱歉模糊不清.那么让我澄清一条新规则.挑战是找到一种方法来代表一个无限的斐波纳契数列表,使用从了解你的好东西的第一章中的额外内容!尽可能.怎么样?换句话说,你能想到的最具创造性的方法是用尽可能少的"知识"来产生这些数字.对不起让任何人回答无效,现在.

haskell fibonacci

1
推荐指数
1
解决办法
208
查看次数

从旧的Artifactory实例迁移到新实例时,复制$ ARTIFACTORY_HOM / data / filestore有什么意义?

当从旧的Artifactory服务器迁移到新服务器时,Artifactory建议此处概述的步骤:https : //jfrog.com/knowledge-base/what-is-the-best-way-to-migrate-a-large-artifactory-实例与最小停机时间/

在这两种方法下,它都表示您应该复制$ ARTIFACTORY_HOME / data / filestore,但是随后您要继续导出旧数据并将其导入新实例,并且在第一种方法中,您还要同步文件。好像您只是连续三遍做同样的事情。JFrog确实没有解释为什么这些步骤中的每个步骤都是必要的,而且我不理解每个步骤的不同之处是其他步骤无法完成的。

artifacts artifactory devops

0
推荐指数
2
解决办法
109
查看次数

为什么这一个无意义的代码行是使这个函数工作的唯一因素?

我正在学习C++,并决定制作一些小而短的函数来练习.以下一点代码将给出一个错误的答案:

float pairwiseSum(float data[], int arraySize, int naive_sum_size=8) {
  if (arraySize <= naive_sum_size) {
    return naiveSum(data, arraySize);
  } else {
    int m = arraySize / 2;
    return pairwiseSum(&data[0], m) + pairwiseSum(&data[m], arraySize-m);
  }
}
Run Code Online (Sandbox Code Playgroud)

naiveSum在这种情况下只是遍历一个数组累积总和,似乎工作正常.如果我有64个1的数组,它会告诉我总和是288.

但是,这个版本的代码每次都能完美运行:

float pairwiseSum(float data[], int arraySize, int naive_sum_size=8) {
  if (arraySize <= naive_sum_size) {
    cout << "";
    return naiveSum(data, arraySize);
  } else {
    int m = arraySize / 2;
    return pairwiseSum(&data[0], m) + pairwiseSum(&data[m], arraySize-m);
  }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Fedora 21并使用g ++ 4.9.2进行编译

为什么一个功能有效,另一个功能失败?

编辑:我的main.cpp文件中显示的完整程序如下所示.

#include <iostream> …
Run Code Online (Sandbox Code Playgroud)

c++

-5
推荐指数
1
解决办法
88
查看次数

标签 统计

artifactory ×1

artifacts ×1

c++ ×1

devops ×1

fibonacci ×1

haskell ×1