原创 非常好用的在線畫樹網站(樹結構的自動生成工具,免去手動畫二叉樹的煩惱)

最近編譯原理學到語法分析樹,需要頻繁、大量地畫樹結構,一開始我使用了畫圖、PPT等工具,或是在紙上畫好然後拍下來,但很是麻煩。 經同學推薦,找到了這樣一個樹的自動生成工具:Syntax Tree Generator。它的使用頁面是

原创 經典非對稱加密算法:RSA算法原理、實現詳解

目錄零、寫在最前參數說明一、RSA算法原理介紹二、實驗步驟(含實驗方法與關鍵代碼)1. 創建項目2. 設計加密、解密的總體流程3. 設計素數類PrimeNum,包括兩個靜態方法4. 設計解密器類Decryption。5. 設計加密

原创 【1星難度】C++程序設計:支票代碼輸出

【問題描述】 輸入支票代碼(正整數)和支票金額(浮點數);按格式要求輸出:支票代碼佔8位,不足8位,則補充前導符‘0’;支票金額保留兩位小數 。   【樣例輸入】 123456 123.1   【樣例輸出】 00123456 123.10

原创 【1星難度】C++程序設計:輸出n層金字塔圖形

【問題描述】 輸入金字塔的層數n(n爲正整數),輸出由字符*組成的金字塔圖形。最底層的字符數爲2n-1,最上層字符數爲1。字符圖形水平居中對齊(使用空格填充)。   【樣例輸入】 5   【樣例輸出】     *    ***   ***

原创 【1星難度】C++程序設計:閏年判斷

【問題描述】 判斷用戶輸入的年份是否爲閏年   【輸入形式】 輸入一個整形的年份   【輸出形式】 如果是閏年輸出YES,否則輸出NO。   【樣例輸入】 2000 【樣例輸出】 YES   【樣例說明】 掌握閏年的判斷方法   #i

原创 【0星難度】C++程序設計:輸出一行字符“This is a C++ program.”

【問題描述】 輸出一行字符:“This is a C++ program.”。   【輸入形式】 無 【輸出形式】 This is a C++ program.   #include <iostream> using namespac

原创 【1星難度】C++程序設計:求某一年某一月份的天數

【問題描述】 輸入年月,求該月份的天數。   【樣例輸入】 2000 2   【樣例輸出】 29   #include <iostream> using namespace std; int main() { int year,mon

原创 【2星難度】C++程序設計:補齊函數編寫遞歸函數計算x的y次冪

【問題描述】 編寫遞歸函數計算x的y次冪,在主程序中輸入非零整數x和整數y,輸出求冪的結果(保留兩位小數)。請考慮y爲負數和0的情況。 【樣例輸入】 2 3 【樣例輸出】 8.00 【樣例輸入】 2 -2 【樣例輸出】 0.25 【樣例

原创 【2星難度】C++程序設計:補齊函數求∏的值

【題目描述】 利用如下公式,編寫函數計算∏的值,直到最後一項的絕對值小於e,主程序接收從鍵盤輸入的e,輸出∏的值(保留5位小數)。 ∏/4 = 1-1/3+1/5-1/7...   【樣例輸入】 0.0005 【樣例輸出】 3.14259

原创 深入理解計算機系統小班討論課:寄存器溢出問題的原理、對性能的影響(register spilling)

《深入理解計算機系統》第5章的5.11.1介紹了寄存器溢出(register spilling)問題,請結合教材給出的簡單實例,闡釋爲什麼會出現寄存器溢出問題?寄存器溢出問題爲什麼會影響性能?但實際上我們在進行高級語言編程的時候根本無需考

原创 喬卿的小黑屋:計算機系統:32位系統中浮點數的存儲、浮點數加法原理、C語言實現與二進制與彙編級別的分析

題目來源:計算機系統第三次小班討論課選題二。 題目描述:說明浮點數加法操作的原理,並編寫代碼,在二進制與彙編這一級別進行分析。   一、 浮點數存儲原理 如二進制1.0110100111,我們肯定很希望在計算機中有足夠的空間,分別存儲二進

原创 喬卿的小黑屋:深入理解計算機系統實驗LAB2實驗代碼及詳細實驗報告:datalab-handout.tar:填寫bits.c文件中尚未完成的各個函數的內容

題目來源:深入理解計算機系統實驗二 實驗題目:LAB2-datalab 實驗目的:通過此次實驗,進一步熟悉整型及浮點數的位表達形式,實現常用二進制運算的常用方法。   ReadmeFirst: 本次文件夾包括本次課程實驗LAB2的內容,內

原创 喬卿的小黑屋:遞歸與漢諾塔問題(Hanoi)求解

現有這樣一個問題:上帝創造了三根柱子,並在第一根柱子上按順序套有N個大小不同的圓盤(自下而上,圓盤由大到小,呈金字形)。規定每次只能移動最頂端的一個圓盤,並且保證整個過程中大圓盤不能放在小圓盤之上。欲將所有圓盤從第一根柱子移動到第三根柱子

原创 喬卿的小黑屋:求解階乘之和 1!+2!+3!+...+n!

作爲入門題,姑且放鬆一下。題目要求很簡單,輸入正整數n,編寫代碼實現由1至n的階乘之和的求算。使用簡單的函數思想,十分容易實現,完整代碼如下:#include<iostream> using namespace std; long lon