發表文章

提高計算正確性的乘法新算

圖片
 提高計算正確性的乘法新算 當同學開始學習多位數的直式乘法時,面臨最大的問題就是在乘法、進位與加法交互運用的困阨中,往往也是因為這個原因造成計算果的錯誤,因此,如果能稍微改變思路,將乘法、進位與加法分開運用,亦即,乘法時只做乘法,而會九九乘法表的同學這部分一定不會做錯,多個兩位數的加法,只要前 一階段的先備知識有札實的練習,應該也不會出錯,依此法稍加練習,相信同學的多位數的直式乘法,必能提高其計算的正確性。 以 12170126 X 258 =?為例說明

以滾動式進位演算法計算大數乘法

圖片
 以滾動式進位計算大數乘法 計算 (n位被乘數) X (m位乘數),以傳統方式計算乘法,我們通常需要 n X m 次乘法及 2n(m-1) 次加法,更甚者,運算過程中是乘法與加法混合在一起,而這也是手算不易及造成錯誤的根源,若將計算思路稍微改變一下,不僅可減少計算時間,也能提高計算結果的正確性,這也是本文提出滾動式進位演算法(Rolling Carry Algorithm)的初衷。 我們知道乘法可以改成加法計算,以 3 X 2 = 6 來說,一般人會直覺的就是把 3 加 2 次或 2 加 3 次,但若是 33 X 22 或 333 X 222 抑或是更大的數字呢!那原本簡單的思維大概無法處理了,誰也無法忍受把 333 加 222 次罷。 雖說方法不好,但並不代表觀念錯誤,只需稍微改變一下思路,仍是大有可為的,滾動式進位演算法就是藉著改變計算方法,得到不僅手算及以電腦運算皆較佳的乘法計算方式,接著我們就來說說滾動式進位演算法的觀念, 首先,我們將被乘數當作一個完整的數字,並建立一個被乘數基數表,如下表, 接著,從被乘數基數表找到乘數相對應值,並循乘數的 LSD 至 MSD 逐次與前一進位相加,相加後保留個位數與前一運算以文字相加,其餘皆是次一進位,完成所有乘數運算即得到運算之積。 範例  12170126 X 258 = ? 大數乘法程式流程圖範例 大數乘法 Python 程式範例

VS Code with Python venv

圖片
 如何於 VS Code 內啟動 Python 的虛擬環境 01.啟動 VS Code 02.於 VS Code 的檔案總管開啟 Python 資料夾,此時於 VS Code 終端機可看到如  ps c:\0My\Pythons\SpaceShip 的回覆字元,這表示目前終端機處於系統的終端機模式(PowerShell)。 03.以 cmd 指令將系統切換為 命令提示字元 模式,系統的回覆字元將會變為c:\0My\Pythons\SpaceShip。 04.以 python -m venv .venv 指令建立虛擬環境,此時開啟的資料夾會多出一個 .venv 資料夾。 05.以 .venv\Scripts\activate.bat  指令啟動 Python 的虛擬環境,此時可看到(.venv)c:\0My\Pythons\SpaceShip 的系統回覆字元。 06.以 .venv\Scripts\deactivate.bat 關閉 Python 的虛擬環境。 07.以 pip list 指令查看已安裝套件。 08.安裝套件範例 pip install pygame

於 Microsoft surface 上安裝 Windows 子系統 Linux 版

圖片
 Microsoft surface 已預設為可執行虛擬平台機器,因此只需幾個簡單的步驟即可安裝 Windows 子系統 Linux 版。 確認您的 Windows11 為最新版。 於 [開啟或關閉 Windows 功能] 內勾選 [Windows 子系統 Linux 版] 及 [虛擬機器平台] 兩項後,系統會安裝相關設定需求。 重新開機後於 [所有應用程式] 內可看到 [WSL] 圖示,此即為 [Windows 子系統 Linux 版] 。 第一次啟動 [WSL] 後,需依訊息安裝系統提供的 Linux 。 於系統提示符號以,wsl --list --online 指令,查看系統提供的 Linux 版本。 於系統提示符號以,wsl --install <Linux名稱> 指令安裝 Linux。 再次執行 [WSL] 即可執行 Linux。

LaTex_Texmaker 學習之路

圖片
這是將原本由 Microsoft Word 完成的作業,改以 LaTex_Texmaker 完成的 PDF 檔 。 目前中文目錄的編號仍在努力中,LaTex_Texmaker 寫法放在圖片之後。 LaTex_Texmaker \documentclass [a4paper,12pt]{article} % 使用中文 \usepackage { xeCJK } %\setCJKmainfont{SimSun} % 新宋体 SimSun、NSimSun %\setCJKmainfont{標楷體} \setCJKmainfont { 細明體 } %\setCJKmainfont{新細明體} %\setCJKmainfont{微軟正黑體} % 日期格式 \usepackage [ nodayofweek ]{ datetime } \newdateformat { mydate }{ \THEYEAR {} \twodigit { \THEMONTH } \twodigit { \THEDAY }} % 設定邊界、段距及列距 \usepackage [margin= 2cm ]{geometry} \usepackage { setspace } %\doublespacing % 2.0 倍列距 \onehalfspacing % 1.5 倍列距 \setlength { \parskip }{ 6pt } % 字體大小擴充功能 \usepackage { moresize } % 使用圖片 \usepackage {graphicx} % 清單擴充功能 \usepackage {enumerate} % 參考文獻 需另建立一個 .bib 檔 \usepackage [ notocbib ]{ apacite } % 目錄中不出現 reference %%%%%% 文章起始 %%%%%% \begin {document} %%% 封面 \begin {titlepage} \begin {center} \vspace* {0. 5cm } \huge 數位家庭程式設計入門作業04 \vspace { 1cm } \HUGE \textbf { 名稱:黑洞數 }

大整數的因數分解

# # 測試由 BARD 提供的因數分解的 Python 程式 # # 8976543213214567897654321987123456789111 = # 60337 * # 148773442716982413737082088720411303 # def sieve_of_eratosthenes(n):   """   使用Eratosthenes篩選法找出1到n之間的所有素數。   Args:     n:  要找的素數上限。   Returns:     一個包含1到n之間所有素數的列表。   """   primes = []   is_prime = [True] * (n + 1)   is_prime[0] = False   is_prime[1] = False   for i in range(2, n + 1):     if is_prime[i]:       primes.append(i)       for j in range(i * 2, n + 1, i):         is_prime[j] = False   return primes def factorize(n):   """   使用二次篩選法找出n的所有質因數。   Args:     n:  要分解的整數。   Returns:     一個包含n的所有質因數的列表。   """   factors = []   for prime in primes:     while n % prime == 0:       factors.append(prime)       n //= prime   if n > 1:     factors.append(n)   return factors if __name__ == "__main__":   n = int(input("請輸入一個整數:"))   factors = factorize(n)   print("{} 的質因數為:".format(n))   for factor in factors:

The product of two odd numbers.

兩奇數之積 ( The product of two odd numbers) 熟悉環境中...... 數之分類 自然數若以4之餘數分類可表示為 4n+1、4n+2、4n+3 及 4n 四類, 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 ---------------- 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 ---------------- 41 42 43 44 45 46 47 48 49 50 51 52 由上述分類可知奇數必為 4n+1 及 4n+3 兩類,且可進一步將其歸納為  20n+1、20n+5、20n+9、20n+13 、 20n+17 及   20n+3、20n+7、20n+11、20n+15、20n+19 八個小類, 後續將更進一步討論每個小類的細分類。 設兩奇數之積為 N= P*Q 一坪院魚菜坊網誌