計算大數階乘–basic版

來源:互聯網
上載者:User

代碼見下:

OPTION BASE 1DIM buff(16000) AS LONGPRINT "calc n!"INPUT "n="; nn%rad& = 10000arrLen% = 1buff(1) = 1FOR i% = 1 TO nn% STEP 1   cc& = 0   FOR j% = 1 TO arrLen% STEP 1       tt& = buff(j%) * i% + cc&       buff(j%) = tt& MOD rad&       cc& = tt& \ rad&   NEXT   IF (cc& > 0) THEN       arrLen% = arrLen% + 1       buff(arrLen%) = cc&   END IFNEXTPRINT "n!="; LTRIM$(RTRIM$(STR$(buff(arrLen%))));FOR i% = arrLen% - 1 TO 1 STEP -1    s$ = LTRIM$(RTRIM$(STR$(buff(i%))))    len1% = LEN(s$)    IF (len1% < 4) THEN        PRINT STRING$(4 - len1%, "0");    END IF    PRINT s$;NEXT

說明:
1. 該程式在qbasic 下編譯通過。
  qbasic 可從 http://xiazai.zol.com.cn/detail/14/132311.shtml 下載
  QBasic的學習,可參考http://www.zz5z.net/qb/index.htm
2. Qbasic是16位dos程式,數組的大小不能超過64k,故定義數組 buff(16000)。16000×4 <64K
3. 對bas程式的說明,免得時間長了忘記其文法。
  3.1 變數名稱尾碼的含義
    %:整數,2bytes, &:長整數,4bytes, $:字串。
   3.2 數組使用 (), 而不用中括弧
   3.3 運算子:mod  求餘, "/" 整除
   3.4 Input 輸入,第一個字串表示提示資訊
   3.5 Print 輸出,”:”分割表示緊湊格式輸出,“,”最各個欄位的分隔字元,鬆散格式輸出
   3.6 函數,字串函數以$結尾,
      STRING$, 重複多次字串
      LTRIM$,RTIRM$: 除去前置/尾隨空格
      STR$: 數值轉換為字串
4 效能比較:和Dos批處理和Linux Bash相比,雖然同是解釋性語言,但在qbasic 運行比dos批處理和Linux bash快得多

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.