强制数字不是指数时出现错误的数字

时间:2016-10-30 10:22:47

标签: r

我正在完成关于项目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的错误答案!我这可能存在打印正确数字的问题,当我强迫它不是指数时,是否有人知道我做错了什么。

0 个答案:

没有答案