代码之家  ›  专栏  ›  技术社区  ›  Matthew Graham

为什么我的自定义二项式函数会给我一个$Inf$作为回报?

r
  •  0
  • Matthew Graham  · 技术社区  · 6 年前

    因此,对于我所在的统计计算课程,最近一次讲座中的一个问题是以下代码:

    nchoosek = 1 #initialize at 1 
    n = 200
    k = 100
    
    for (i in 1:(n-k)){
        nchoosek = nchoosek*(k+i)/i }
        
    nchoosek
    

    我发帖的原因是我只是在玩弄这段代码,当n=k时,它会给你Inf作为回报。为什么我会得到这个值?谢谢

    1 回复  |  直到 6 年前
        1
  •  2
  •   pseudospin    6 年前

    什么时候 n == k for循环贯穿这些值 1:0 这就是 c(1,0) 这不是你想要的。放入 if 语句,如果 k>=n 它应该会起作用。