原创 二分求冪與僞遞歸優化

  二分求冪與僞遞歸優化 對於許多問題求解來說,設計相應的遞歸程序是非常自然的事。例如,對於計算實數x的n次冪這一任務,一種高效求解算法的遞歸設計思想

原创 路徑數的計算

路徑數的計算 問題:編制程序,計算從點A(0,0)到點B(m,n)的路徑數。行走方向只能向上或向右。+--+--+--+--+--+B(m,n)|  |  |  |  |  |+--+--+--+--+--+|  |  |  |  | 

原创 大菲波那契數的計算程序

  大菲波那契數的計算程序 對於較大的n,由於f[n]已超過計算機字長所能表示的範圍,如何利用計算機來精確地生成的f[n]值呢?例如,當n=100時,

原创 馬的棋盤遍歷的一個近似算法

  馬的棋盤遍歷的近似算法 國際象棋中的馬的遍歷問題爲:國際象棋中的馬能否按照馬步訪問每一格點一次,最後再回到原地?由於國際象棋中的馬又稱爲騎士,國際

原创 討論C語言常規優化策略——條件語句優化

C語言常規優化策略 2 條件語句優化 2.1 多分枝條件語句優化 多分枝條件語句一般採用switch語句,這樣的程序無論從清晰性和效率上都比原來的程序要好。例如下面的函數採用三種函數形式分別計算x在Alpha,Beta和Gamma處的值,

原创 小菲波那契數的計算程序

  小菲波那契數的計算程序 剛開始寫程序的人往往不願意對問題進行細緻的分析,他們喜歡多用一些空間來表示問題的結構,從而簡化程序的控制部分。爲計算菲波那

原创 階乘數的快速計算方法

  階乘數的快速計算方法 如何快速計算階乘數n!?一種簡單的辦法是採用下面的循環: fac=1; for (k=2;k<=n;k++)   fac*=

原创 鏈表元素求和的僞遞歸優化

  鏈表元素求和的僞遞歸優化 遞歸程序優化的一種廣泛採用的技術是將遞歸程序轉換爲尾遞歸程序。所謂尾遞歸程序,是指程序僅僅在程序的最後一條語句才調用自身

原创 Ljunggren方程解的搜尋

  Ljunggren方程 M. B. Nathanson所著《Elementary Methods in Number Theory》第42頁給出了

原创 C語言常規優化策略--賦值語句優化

C語言常規優化策略 從理論上講,程序的優化一般分爲局部優化、循環優化和全局優化三個層次。所謂局部優化,重點在於刪除程序中的無用賦值,利用語言的特性對基本賦值語句優化,局部優化一般不宜過多采用,但如果程序中總是有一些無效賦值或沒有引用的變

原创 生成Farry序列的Prolog程序

  生成Farry序列的Prolog程序 設n爲正整數,n階Farey序列爲[0,1]區間內所有分母小於或等於n的所有有理數遞增排列所構成的序列。記0

原创 Ramanujan-Nagell方程求解程序

Ramanujan-Nagell方程求解程序  M. B. Nathanson所著《Elementary Methods in Number Theory》第42頁給出了下面一個問題:當x<=1000時,尋求方程x^2+7=2^n的全部解

原创 二十四點遊戲求解算法設計

  二十四點遊戲 問題 給定4個10以內的正數,要求使用加、減、乘、除運算得到24,其中每一數必須用到一次, 而最多也只能用一次。 例如,給定的四個數

原创 一般線性遞歸函數的僞遞歸優化方法

  一般線性遞歸函數的僞遞歸優化方法 一般地,對於線性遞歸函數 f[n]=b[1]f[n-1]+b[2]f[n-2]+...+b[k]f[n-k] 

原创 問題:飛行調度難題

  飛行調度難題 有一組飛機,其中的每架飛機加滿油時可繞地球飛行五分之一的距離,而每架飛機都可以從另外一架飛機加油。假設所有的飛機飛行速度都相同,爲常