砝碼分鹽問題 從數學和計算機的角度分析 8

2021-05-26 06:52:22 字數 3650 閱讀 8911

本部落格(

content

0. 問題

1. 一些方法

2. 從數學的角度分析

3. 能否程式設計計算?

4. 乙個改進的方法

5. 再改進的方法

6. 能否直接計算求出所有正確解?

7. 乙個更為簡單的方法

8. 所有**的自動編譯、執行

8.1如何自動編譯?

8.2如何自動執行並儲存結果?

9. 問題擴充套件

10.

體會11.

總結reference

附錄1

:數學分解的**

weight1.c

附錄2

:數學分解程式

weight1

的執行結果

附錄3

:樹結構分解的**

weight2.c

附錄4

:再改進的方法的**

weight3.1.c/3.2.c/3.3.c

附錄5

:再改進的方法的**

weight3.1.c/3.2.c/3.3.c

的輸出結果

附錄6

:直接計算正確分解的**

weight4.c

附錄7

:乙個更簡單的方法的**

weight5.1.c/5.2.c/5.3.c

8. 所有**的自動編譯、執行

8.1

如何自動編譯?

要自動編譯所有的例子**,很容易想到

makefile

檔案。makefile

的編寫方法,可參考

跟我一起寫

makefile、駕馭

makefile、編寫

makefile

。對於該例子,筆者編寫的

makefile

檔案如下。

cc = gcc

cxxflags += -g -wall -wextra

target = weight1 weight2 weight3.1 weight3.2 weight3.3 weight4 weight5.1 weight5.2 weight5.3

cleanup = rm -f $(target) *.o

all : $(target)

clean :

$(cleanup)

weight1.o: weight1.c

$(cc) $(cxxflags) -c $^

weight2.o: weight2.c

$(cc) $(cxxflags) -c $^

weight3.1.o: weight3.1.c

$(cc) $(cxxflags) -c $^

weight3.2.o: weight3.2.c

$(cc) $(cxxflags) -c $^

weight3.3.o: weight3.3.c

$(cc) $(cxxflags) -c $^

weight4.o: weight4.c

$(cc) $(cxxflags) -c $^

weight5.1.o: weight5.1.c

$(cc) $(cxxflags) -c $^

weight5.2.o: weight5.2.c

$(cc) $(cxxflags) -c $^

weight5.3.o: weight5.3.c

$(cc) $(cxxflags) -c $^

all:

weight1: weight1.o

$(cc) $(cxxflags) $^ -o $@

weight2: weight2.o

$(cc) $(cxxflags) $^ -o $@

weight3.1: weight3.1.o

$(cc) $(cxxflags) $^ -o $@

weight3.2: weight3.2.o

$(cc) $(cxxflags) $^ -o $@

weight3.3: weight3.3.o

$(cc) $(cxxflags) $^ -o $@

weight4: weight4.o

$(cc) $(cxxflags) $^ -o $@

weight5.1.o: weight5.1.c

$(cc) $(cxxflags) -c $^

weight5.2.o: weight5.2.c

$(cc) $(cxxflags) -c $^

weight5.3.o: weight5.3.c

$(cc) $(cxxflags) -c $^

rm -f *.o

8.2

如何自動執行並儲存結果?

編寫自動執行並儲存執行結果的指令碼

autorun.sh

,執行後,其結果被自動儲存到同名的

.txt

檔案中,如下。

echo -e "start to run all examples\n"

echo "weight1 running ..."

./weight1 > weight1.txt

echo " result is in weight1.txt"

echo "weight2 running ..."

./weight2 > weight2.txt

echo " result is in weight2.txt"

echo "weight3.1 running ..."

./weight3.1 > weight3.1.txt

echo " result is in weight3.1.txt"

echo "weight3.2 running ..."

./weight3.2 > weight3.2.txt

echo " result is in weight3.2.txt"

echo "weight3.3 running ..."

./weight3.3 > weight3.3.txt

echo " result is in weight3.3.txt"

echo "weight4 running ..."

./weight4 > weight4.txt

echo " result is in weight4.txt\n"

echo "weight5.1 running ..."

./weight5.1 > weight5.1.txt

echo " result is in weight5.1.txt"

echo "weight5.2 running ..."

./weight5.2 > weight5.2.txt

echo " result is in weight5.2.txt"

echo "weight5.3 running ..."

./weight5.3 > weight5.3.txt

echo " result is in weight5.3.txt"

echo "done. bye."

上一節下一節

思維題目, 樹型結構, 砝碼分鹽

砝碼分鹽問題 從數學和計算機的角度分析 1

本部落格 content 0.問題 1.一些方法 1.1 去除法 1.2 分解法 1.3 累加法 1.4 小結 2.從數學的角度分析 3.能否程式設計計算?4.乙個改進的方法 5.再改進的方法 6.能否直接計算求出所有正確解?7.乙個更為簡單的方法 8.所有 的自動編譯 執行 9.問題擴充套件 10...

和機器學習和計算機視覺相關的數學

1.線性代數 linear algebra 我想國內的大學生都會學過這門課程,但是,未必每一位老師都能貫徹它的精要。這門學科對於 learning 是必備的基礎,對它的透徹掌握是必不可少的。我在科大一年級的時候就學習了這門課,後來到了香港後,又重新把線性代數讀了一遍,所讀的是 introductio...

和機器學習和計算機視覺相關的數學

感覺數學似乎總是不夠的。這些日子為了解決research中的一些問題,又在圖書館捧起了數學的教科書。從大學到現在,課堂上學的和自學的數學其實不算少了,可是在研究的過程中總是發現需要補充新的數學知識。learning和vision都 是很多種數學的交匯場。看著不同的理論體系的交匯,對於乙個resear...