scala - Scala for循环计算幂和
问题描述
我对 Scala 非常陌生,并且正在尝试创建一个循环,该循环将在(1^1 + 2^2 + ... + 10^10)
不使用指数运算符的情况下计算幂和。
我发现1^1
通过9^9
正确计算。但由于某种原因10^10
,1410065409
在我当前的代码中计算结果并弄乱了我的最终输出。是什么导致了这个数学错误?
我目前的代码是:
var i = 1
var ex = 1
var sum = 0
while (i <= 10)
{
for (j <- 1 to i)
{
ex = ex * i
}
sum += ex
ex = 1
i += 1
}
println(s"The sum is $sum")
解决方案
以下是它在 Scala 中的实现方式。
List.tabulate(10)(n => List.fill(n+1)(n.toLong+1).product).sum
//res0: Long = 10405071317
推荐阅读
- php - 在函数中回显 get_post_meta()
- android - MediaStore contentResolver.insert() 在拍照时创建副本而不是替换现有文件(Android Q: 29)
- python - Python类型 - 如果它是None,有没有办法避免导入可选类型?
- ssl - 是否可以要求服务器*不*在其“服务器问候”中发送“证书请求”?
- assembly - 在 PIC 汇编中保留内存指令“Res”的使用
- machine-learning - 如何将 plot_importance 函数与 MultiOutputRegressor 一起使用?
- ios - Xcode 11,Vmware 中的错误当我在项目中添加 appicon 时,我收到此错误
- javascript - 检查字符串是否为日期
- python - 如何在 Python 中通过 DataFrame 加速嵌套循环?
- docker - Kubernetes 集群上的 Apache pulsar(本地环境)