亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用Python/R語言分別解決金字塔數求和問題

發布時間:2022-03-24 11:05:40 來源:億速云 閱讀:143 作者:iii 欄目:開發技術

本篇內容介紹了“怎么用Python/R語言分別解決金字塔數求和問題”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

    1、前N階乘求和

    階乘是基斯頓·卡曼(Christian Kramp,1760~1826)于 1808 年發明的運算符號,是數學術語。

    n!=1∗2∗3∗...∗(n−1)∗n

    或者可以使用遞歸方式定義:

    怎么用Python/R語言分別解決金字塔數求和問題

    對其前N項階乘求和即是sum(1!+2!+3!+...+n!),有了以上的理論基礎,我們一起看看圖解,加強一下理解 !

    1.1 圖解問題

    怎么用Python/R語言分別解決金字塔數求和問題

    如圖,如果要輸出每一個值 ,可以嵌入循環的思想,每一次將前一個值進行乘法運算即可!

    1.2 算法流程

    怎么用Python/R語言分別解決金字塔數求和問題

    在此可以看到 ,我們需要加以人工控制需要算前多少項。在循環體內,這是對階乘數的累加和賦值。

    1.3 代碼實現

    1.3.1 python代碼實現

    n = int(input("n = "))
    s = 0
    t = 1
    for i in range(1,n+1):
        t*=i
        s+=t
    print ("前{}階乘的和是:{}" .format(n,s))

    怎么用Python/R語言分別解決金字塔數求和問題

    1.3.2 R語言代碼實現

    factorial <- function(n){
      n <<-  as.integer(readline("請輸入需要階乘個數(從 1 開始):"))
      fac = 1
      ans = 0
      for (i in 1:n) {
        fac = fac * i
        ans = ans + fac 
      }
      return(ans)
    }
    test_3 <- function(){
      print("前n階乘之和為:")
      factorial(n)
    }
    test_3()

    怎么用Python/R語言分別解決金字塔數求和問題

    1.4實驗小結

    這個實驗核心的點是循環的使用;

    至于R代碼部分均使用函數的形式進行包裝方便理解;函數內部采用互動的方式,便于拓展使用。有需要了解的留言或私信。

    2、金字塔數求和運算

    此處的金字塔是真金字塔;就按簡單的金字塔形狀的數字:

    怎么用Python/R語言分別解決金字塔數求和問題

    求s=a+aa+aa+aaa+aa...a的值,其中 a 是一個數字。例如:

    2+22+222+2222+22222

     (此時共 有 5 個數相加),幾個數相加由鍵盤控制。

    2.1 圖解問題

    怎么用Python/R語言分別解決金字塔數求和問題

    通過對每一層金字塔數的拆解,即可得到如下的通項公式:

    怎么用Python/R語言分別解決金字塔數求和問題

    這樣問題不久又解決了嗎?與上面的前n項階乘求和一樣,使用循環求出每一層數,然后求和。

    2.2 算法流程

    怎么用Python/R語言分別解決金字塔數求和問題

    與上面實驗基本沒有差異;主要是循環體的算法不同而已。此處不做講解了。

    2.3 代碼實現

    2.3.1 python代碼

    a = int(input("請輸入需要a的值:"))
    n = int(input("請輸入需要n的值:"))
    
    Fn = 0
    pyr = []
    
    for i in range(n):
        Fn = Fn + a
        a = a*10
        pyr.append(Fn)
        print(Fn)
    print("前{}個數的和為:{}".format(n, sum(pyr)))

    怎么用Python/R語言分別解決金字塔數求和問題

    2.3.2 R語言代碼實現

    sum_pyr <- function(){
      
      a <- as.integer(readline("請輸入a的值:"))
      n <- as.integer(readline("請輸入n的值:"))
      
      Fn <- 0
      pyr <- c()
      
      for (i in 1:n) {
        Fn <- Fn + a
        a <- a * 10
        pyr[i] <- Fn
        print(Fn)
      }
      
      ans <<- sum(pyr)
      
    }
    test_4 <- function(){
      print("金字塔為:")
      sum_pyr()
      print("求和結果為:")
      ans
    }
    test_4()

    怎么用Python/R語言分別解決金字塔數求和問題

    “怎么用Python/R語言分別解決金字塔數求和問題”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    通道| 买车| 福贡县| 磐石市| 会同县| 正阳县| 博白县| 玉林市| 龙南县| 新绛县| 内乡县| 莎车县| 临安市| 奉节县| 亳州市| 咸丰县| 紫阳县| 武乡县| 穆棱市| 邵东县| 瓮安县| 禄丰县| 道真| 鄂托克旗| 怀宁县| 三明市| 政和县| 泗洪县| 彰武县| 宕昌县| 股票| 重庆市| 军事| 汝南县| 嫩江县| 凤山市| 蓬安县| 新乡市| 灵武市| 罗山县| 温泉县|