我正在完成关于项目euler的编程问题,问题是:
N!表示n×(n-1)×...×3×2×1
例如,10! = 10×9×...×3×2×1 = 3628800, 和数字10中的数字之和!是3 + 6 + 2 + 8 + 8 + 0 + 0 = 27。
查找数字100中的数字总和!
我在R中使用的代码是:
options(scipen = 999)
x <- 100
y <- 1
while (x>=1){
y <- y * x
x <- x - 1
}
sum(as.numeric(strsplit(as.character(y),"")[[1]]))
scipen是强制我的整数不作为指数打印,这样我就可以将它作为一个字符打印出来,吐出整数,然后将其改回数字并对组件求和。当我测试10!时,这个方法都可以正常工作,但是给出100的错误答案!我这可能存在打印正确数字的问题,当我强迫它不是指数时,是否有人知道我做错了什么。