你如何在Scala中找到x的基数y对数?我搜索了scala.math库,但我找不到方法.它似乎只有log10(x)和ln(x).
如果条件匹配返回最后一个值,有没有办法在Clojure中打破循环?大多数算法都会在找到结果时返回结果并避免完成整个执行.
假设我有一个100个数字的向量,范围从0到100,我想找到数字10.一旦找到10,我希望执行停止.
比我的例子更简单的情况如下:
(defn MySearch
[y]
(when (< y 10)
;;Corrected. Thanks to dsm who pointed it out. Previously was (< y 5).
(if (= (nth [1 2 3 4 5 6 7 8 9 10] y) 10)
(println
"I found it! Now I want to stop executing!"
)
)
(recur
(inc y)
)
)
)
(MySearch 0)
Run Code Online (Sandbox Code Playgroud)
当我找到5时我怎么能停下来?
我搜索得足够多,我找不到任何实现方法.我在这里也找到了一个答案,说明我所要求的并不存在于Clojure中,但我发现它有点牵强.即使是这种情况,我可以自己实现这样的东西吗?
(我是Clojure的新手.)
我正在尝试使用Emacs和Cider进行Clojure开发.
我已经安装了Cider和Java JDK 7,而且(我认为)我安装了Leiningen.我使用Ubuntu 14.04并lein在我的主目录中保存了Leiningen安装文件,使其可执行并运行它.之后我不知道如何使用Emacs开始编程并编译我的代码.我到处搜索,经过所有的安装,很多互联网资源提到尝试M-x cider-jack-in.当我这样做时,我得到:
"lein可执行文件(由`cider-lein-command'指定)不在你的exec-path上"
此外,我在本网站以及Google的前3页中搜索了有关Clojure和Emacs的每个问题.我的意思是他们每个人.
我在C++中有以下函数,它应该使用Heron的公式找到三角形的区域.我没有在数学上犯任何错误,但它没有产生正确的结果!我看着它超过3个小时,我找不到任何错误.我错过了什么?
float TriangleArea(float x0, float y0, float x1, float y1, float x2, float y2)
{
float area_triangle;
float a, b, c, s;
a=std::sqrt((x0-x1)*(x0-x1)-(y0-y1)*(y0-y1));
b=std::sqrt((x1-x2)*(x1-x2)-(y1-y2)*(y1-y2));
c=std::sqrt((x0-x2)*(x0-x2)-(y0-y2)*(y0-y2));
s=(a+b+c)/2;
area_triangle=std::sqrt((s*(s-a)*(s-b)*(s-c)));
return area_triangle;
}
Run Code Online (Sandbox Code Playgroud)