如何在R语言中使用带for循环的函数计算12的阶乘
R语言for循环计算12阶乘的正确实现
原有代码问题
- 未定义累积乘积变量:循环中仅单独计算单个数值
i的乘积,没有累乘过程,无法得到总乘积 - 存在语法错误:第二段测试代码
print(prod(i)缺少右侧闭合的圆括号,无法正常运行
直接运行计算12阶乘的代码
# 初始化乘积变量,乘法运算的初始单位为1 res <- 1 # 遍历1到12的所有整数完成累乘 for (i in 1:12) { res <- res * i } # 输出最终结果 print(res)
封装为可复用函数的实现
# 自定义阶乘计算函数,入参n为需要计算阶乘的正整数 my_factorial <- function(n) { res <- 1 for (i in 1:n) { res <- res * i } return(res) } # 调用函数计算12的阶乘 my_factorial(12)
运行后输出结果为479001600,可通过R内置factorial(12)校验结果正确性。
内容的提问来源于stack exchange,提问作者codingNoob
相关产品推荐
相关产品推荐

