精品偷拍一区二区三区,亚洲精品永久 码,亚洲综合日韩精品欧美国产,亚洲国产日韩a在线亚洲

  • <center id="usuqs"></center>
  • 
    
  • R語言,解釋下這code

    R語言,解釋下這code
    >Eratosthenes 2) {
    + sieve
    數(shù)學(xué)人氣:557 ℃時(shí)間:2020-04-06 11:02:57
    優(yōu)質(zhì)解答
    if (any(sieve ==i)) { # 如果i在sieve里 也可以寫成 if ( i %in% sieve ) {
      primes <- c(primes, i)   # 把i放到prime里
      sieve <- c(sieve[(seive %% i) != 0], i)  #把所有sieve里i的整數(shù)倍數(shù)(除了i)取走
      # %%是mod, 余數(shù),所以 sieve[seive%%i) !=0]是所有seive里除以i余數(shù)不為0的數(shù)
    }
     
    整個(gè)這段代碼是找出所有比n小的質(zhì)數(shù)
    還是很混亂。。。能說下這個(gè)logic或者流程是怎樣的嗎

    ok,理解的關(guān)鍵是sieve里的值隨著循環(huán)是一個(gè)越來越少,第一個(gè)循環(huán),n=2,primes = c(2), sieve <- 之后,所以2的倍數(shù)都被移走,但是把i留下(這一句其實(shí)有錯(cuò)誤,i不需要了,因?yàn)橐呀?jīng)在primes里了)可以改成

     sieve <- c(sieve[(seive %% i) != 0])

    第二個(gè)循環(huán),i=3,i還在sieve里,所以這一次把3的倍數(shù)都移走了。

    第三步,i=4,i不再在sieve里了(第一步的時(shí)候4是2的倍數(shù)已經(jīng)被移走了)

    ...

    我來回答
    類似推薦
    請(qǐng)使用1024x768 IE6.0或更高版本瀏覽器瀏覽本站點(diǎn),以保證最佳閱讀效果。本頁提供作業(yè)小助手,一起搜作業(yè)以及作業(yè)好幫手最新版!
    版權(quán)所有 CopyRight © 2012-2024 作業(yè)小助手 All Rights Reserved. 手機(jī)版