《算法》練習題1.1.1--1.1.25 答案解析


0.0.0

答案解析代碼在github:BitHachi/Algorithm-Four

1.1.1

在這裏插入圖片描述
在這裏插入圖片描述

1.1.2

在這裏插入圖片描述

在這裏插入圖片描述

1.1.3

在這裏插入圖片描述
在這裏插入圖片描述

1.1.4

在這裏插入圖片描述

1.1.5

在這裏插入圖片描述
在這裏插入圖片描述

1.1.6

在這裏插入圖片描述
在這裏插入圖片描述

1.1.7

在這裏插入圖片描述
在這裏插入圖片描述

1.1.8

在這裏插入圖片描述
在這裏插入圖片描述

1.1.9

在這裏插入圖片描述
在這裏插入圖片描述

1.1.10

在這裏插入圖片描述
在這裏插入圖片描述

1.1.11

在這裏插入圖片描述
在這裏插入圖片描述

1.1.12

在這裏插入圖片描述
在這裏插入圖片描述

1.1.13

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

1.1.14

在這裏插入圖片描述
在這裏插入圖片描述

1.1.15

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

1.1.16

給出exR1(6)的返回值

在這裏插入圖片描述
在這裏插入圖片描述

1.1.17

見書,書上有解析

1.1.18

在這裏插入圖片描述
在這裏插入圖片描述

1.1.19

public class Fibonacci{
	public static long F(int N){
	if (N==0) return 0;
	if (N==1) return 1;
	return f(N-1)+F(N-2);
	}
	public static void main(String[] args){
		for(int N=0;N<100;N++)
		StdOut.println(N+" "+F(N));
	}
}

開發F(N),用數組保存已經計算過的值。
在這裏插入圖片描述

1.1.20

編寫一個遞歸的靜態方法計算ln(N!)的值。

在這裏插入圖片描述

1.1.21

編寫一段程序,從標準輸入按行讀取數據,其中每行都包含一個名字和兩個整數。然後用printf()打印一張表格,每行的若干列數據包括名字、兩個整數和第一個整數除以第二個整數的結果,精確到保留小數點後三位。

在這裏插入圖片描述

1.1.22

使用1.1.6.4節中的rank(遞歸方法重新實現BinarySearch並跟蹤該方法的調用。每當該方法被調用時,打印出它的參數1o和hi並按照遞歸的深度縮進。提示:爲遞歸方法添加一個參數來保存遞歸的深度。

1.1.23

爲BinarySearch的測試用例添加一個參數:
+ 打印出標準輸人中不在白名單上的值;
-則打印出標準輸人中在白名單上的值。
在這裏插入圖片描述

1.1.24

  • 給出使用歐幾里德算法計算105和24的最大公約數的過程中得到的一系列p 和q的值。
  • 擴展該算法中的代碼得到一個程序Euclid, 從命令行接受兩個參數,計算它們的最大公約數並打印出每次調用遞歸方法時的兩個參數。
  • 使用你的程序計算111 111和1 234 567的最大公約數。
    在這裏插入圖片描述
    在這裏插入圖片描述

參考:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章