算法實現題1-2 連續和問題 « 問題描述: 給定一個正整數n,計算有多少個不同的連續自然數段,其和恰為n。例如,當n=27 時,有4 個不同的連續自然數段的和恰為27:2+3+4+5+6+7;8+9+10;13+14;27。 « 編程任務: 給定一個正整數n,試設計一個O(n)時間算法,計算有多少個不同的連續自然數段的 和恰為n。 « 數據輸入: 由文件input.txt提供輸入數據。文件的第1 行是正整數n。 « 結果輸出: 程序運行結束時,將計算出的和恰為n的連續自然數段的個數輸出到output.txt中。 輸入文件示例 輸出文件示例 input.txt 27 output.txt 4
上傳時間: 2016-05-28
上傳用戶:yulg
Ex3-23 親兄弟問題 « 問題描述: 給定n 個整數0 1 1 , , , n- a a a 組成的序列。序列中元素i a 的親兄弟元素k a 定義為: min{ | } k i j n j j i a = a a ³ a < < 。 親兄弟問題要求給定序列中每個元素的親兄弟元素的位置。元素i a 的親兄弟元素為k a 時,稱k 為元素i a 的親兄弟元素的位置。當元素i a 沒有親兄弟元素時,約定其親兄弟元素 的位置為-1。 例如,當n=10,整數序列為6,1,4,3,6,2,4,7,3,5 時,相應的親兄弟元素位 置序列為:4,2,4,4,7,6,7,-1,9,-1。 « 編程任務: 對于給定的n個整數0 1 1 , , , n- a a a 組成的序列,試用抽象數據類型棧,設計一個O(n) 時間算法,計算相應的親兄弟元素位置序列。 « 數據輸入: 由文件input.txt提供輸入數據。文件的第1 行有1 個正整數n,表示給定給n個整數。 第2 行是0 1 1 , , , n- a a a 。 « 結果輸出: 程序運行結束時,將計算出的與給定序列相應的親兄弟元素位置序列輸出到output.txt 中。 輸入文件示例 輸出文件示例 input.txt 10 4 2 4 4 7 6 7 -1 9 -1 output.txt 6 1 4 3 6 2 4 7 3 5
上傳時間: 2013-12-17
上傳用戶:shizhanincc
Ex8-4 匯點問題 « 問題描述: 采用鄰接矩陣表示一個具有n 個頂點的圖時,大多數關于圖的算法時間復雜性為 O(n2 ),但也有例外。例如,即使采用鄰接矩陣表示一個有向圖G,確定G 是否含有一個 匯(即入度為n-1,出度為0 的頂點),只需要O(n)計算時間。試寫出其算法。 « 編程任務: 對于給定的有n個頂點的圖G 的鄰接矩陣,各頂點依次編號為1,2,…,n。試設計一 個O(n)時間算法,計算圖G 的匯點。 « 數據輸入: 由文件input.txt提供輸入數據。文件的第1 行有1 個正整數n,表示圖G 中頂點個數。 第2 行起每行n個數,共n行,給出圖G 的鄰接矩陣。 « 結果輸出: 程序運行結束時,將計算出的匯點編號輸出到output.txt中。當圖G 沒有匯點時輸出0。 輸入文件示例 輸出文件示例 input.txt 5 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 1 0 1 1 1 0 1 1 0 0 output.txt 3
上傳時間: 2013-12-25
上傳用戶:yyyyyyyyyy
算法實現題1-5 最大間隙問題 « 問題描述: 最大間隙問題:給定n 個實數x , , xn 1 2 ,求這n 個數在實軸上相鄰2 個數之間的最 大差值。假設對任何實數的下取整函數耗時O(1),設計解最大間隙問題的線性時間算法。 « 編程任務: 對于給定的n 個實數n x , x , , x 1 2 ,編程計算它們的最大間隙。 « 數據輸入: 輸入數據由文件名為input.txt的文本文件提供。文件的第1 行有1 個正整數n。接下來 的1 行中有n個實數n x , x , , x 1 2 。 « 結果輸出: 程序運行結束時,將找到的最大間隙輸出到文件output.txt中。 輸入文件示例 輸出文件示例 input.txt 5 2.3 3.1 7.5 1.5 6.3 output.txt 3.2
上傳時間: 2016-05-28
上傳用戶:咔樂塢
Ex4-22 單射函數問題 « 問題描述: 設函數f將點集S = {0,1, , n -1}映射為f (S) = { f (i) | iÎ S} Í S 。單射函數問題要 從S中選取最大子集X Í S 使f (X )是單射函數。 例如,當n=7, f (S) = {1,0,0,2,2,3,6} Í S 時, X = {0,1,6} Í S 是所求的最大子集。 « 編程任務: 對于給定的點集S = {0,1, , n -1}上函數f,試用抽象數據類型隊列,設計一個O(n)時 間算法,計算f的最大單射子集。 « 數據輸入: 由文件input.txt 提供輸入數據。文件的第1 行有1 個正整數n,表示給定的點集 S = {0,1, , n -1}。第2 行是f (i)的值,0 £ i < n。 « 結果輸出: 程序運行結束時,將計算出的f的最大單射子集的大小輸出到output.txt中。 輸入文件示例 輸出文件示例 input.txt 7 1 0 0 2 2 3 6 output.txt 3
上傳時間: 2016-05-28
上傳用戶:tyler
很完整的51串口程序 包括如下: 串口中斷服務程序,僅需做簡單調用即可完成串口輸入輸出的處理 出入均設有緩沖區,大小可任意設置。 可供使用的函數名: char getbyte(void) 從接收緩沖區取一個byte,如不想等待則在調用前檢測inbufsign是否為1。 getline(char idata *line, unsigned char n) 獲取一行數據回車結束,必須定義最大輸入字符數 putbyte(char c) 放入一個字節到發送緩沖區 putbytes(unsigned char *outplace,j) 放一串數據到發送緩沖區,自定義長度 putstring(unsigned char code *puts) 發送一個定義在程序存儲區的字符串到串口 puthex(unsigned char c) 發送一個字節的hex碼,分成兩個字節發。 putchar(uchar c,uchar j) 輸出一個無符號字符數的十進制表示,必須標示小數點的位置,自動刪除前面無用的零 putint(uint ui,uchar j) 輸出一個無符號整型數的十進制表示,必須標示小數點的位置,自動刪除前面無用的零 delay(unsigned char d) 延時n x 100ns putinbuf(uchar c) 人工輸入一個字符到輸入緩沖區 CR 發送一個回車換行
上傳時間: 2016-06-13
上傳用戶:epson850
C51實用程序(45個) I/O、定時器、中斷、看門狗、計數器、軟件AD、VB串口、93c06驅動、24c02系列驅動、7219、20045、軟件陷阱、串口中斷、碼值轉換、AVR通訊、IIC、DS1302、DS1820、SPI、1602、12232、12864、T6963、1330、PC鍵、鍵盤輸入法、智能化、飛機游戲、貪吃蛇、多級菜單實例等
上傳時間: 2016-06-17
上傳用戶:hasan2015
數字電壓表 AD芯片: 采用8位串行A/D轉換器ADC0832。 ● 8位分辨率,逐次逼近型,基準電壓為 5V ● 5V單電源供電 ● 輸入模擬信號電壓范圍為 0~5V ● 有兩個可供選擇的模擬輸入通道 顯示: 使用三個數碼管。 顯示范圍: 0.00 - 5.10 (單位:V) 連接方式: AD_CLK → P1.0 AD_DAT → P1.1 AD_CS → P3.4 模擬輸入 → CH0 (AD_DAT = DO + DI) ADC0832輸出最大轉換值=FFH (255) 設定最大測量值=5.1V 255X=5.1 X=0.02 即先乘2再除以100 (小數點放在第三位數碼管)
上傳時間: 2016-06-21
上傳用戶:zhangliming420
數字電壓表 AD芯片: 采用8位串行A/D轉換器ADC0832。 ● 8位分辨率,逐次逼近型,基準電壓為 5V ● 5V單電源供電 ● 輸入模擬信號電壓范圍為 0~5V ● 有兩個可供選擇的模擬輸入通道 顯示: 使用三個數碼管。 顯示范圍: 0.00 - 5.10 (單位:V) 連接方式: AD_CLK → P1.0 AD_DAT → P1.1 AD_CS → P3.4 模擬輸入 → CH0 (AD_DAT = DO + DI) ADC0832輸出最大轉換值=FFH (255) 設定最大測量值=5.1V 255X=5.1 X=0.02 即先乘2再除以100 (小數點放在第三位數碼管)
上傳時間: 2016-06-21
上傳用戶:懶龍1988
數字電壓表 AD芯片: 采用8位串行A/D轉換器ADC0832。 ● 8位分辨率,逐次逼近型,基準電壓為 5V ● 5V單電源供電 ● 輸入模擬信號電壓范圍為 0~5V ● 有兩個可供選擇的模擬輸入通道 顯示: 使用P0口的數碼管顯示轉換值。 顯示范圍: 0.00 - 5.10 (單位:V) 連接方式: AD_CLK → P1.0 AD_DAT → P1.1 AD_CS → P3.4 模擬輸入 → CH0 (AD_DAT = DO + DI) ADC0832輸出最大轉換值=FFH (255) 設定最大測量值=5.1V 255X=5.1 X=0.02 即先乘2再除以100 (小數點放在第三位數碼管)
上傳時間: 2013-12-05
上傳用戶:dreamboy36