2015年3月28日 星期六

排列組合產生器

整理來自 http://www.programmer-club.com.tw/ShowSameTitleN/c/46015.html 的討論,討論結果大致可分為遞迴法、計算法及量子演算法三種。但遞迴法有 stack overflow 的隱憂,所以改寫成模擬遞迴法;而計算法則因須要使用大數才能完整,所以加入了 goost 的 multiprecision;量子演算法要有量子電腦才能真正發揮實力,這裡使用 thread 去模擬,過這些做法象徵意義大於實質意義。

2015年2月24日 星期二

杜林機-STATE 設計模式

今天早上看了電影 模仿遊戲(The Imitation Game),其中提到「 圖靈機」讓我想起以前有寫過這樣的程式碼,原來發明人是二戰悲劇英雄,以下是我先前寫的

2014年6月22日 星期日

用 C++ 的 STL 作為參數須注意 Release 版 和 Debug 版 之間會出錯

假設某一 lib 檔是 Release 版,提供以下兩個函數:

void f1(std::string s);
std::string f2();

若呼叫端是 Release 版,呼叫這兩個函數都沒問題,但若是編譯成 Debug 版就會出錯。
不過這似乎是 vc 的問題,我在 gcc 試過不會這樣。




2014年6月18日 星期三

永動裝置

這種東西接上發電機 不就有用不完的電
若可行 好像違反能量守恆定律 若要不違反 只好假設會消耗地球重力 重力由物質多寡決定 這麼簡單就做到質能轉換?



這個更簡單了 永久磁鐵發電 核4可以停建了
馬上就可以做 不用電全年無休的風扇 會不會再次工業革命



就是這個光


2014年6月11日 星期三

測試 MipmapCreate()

這次寫個程式來測試 Mipmap 建立函數 一文中的 MipmapCreate(),看看效果如何,而圖檔的讀取和儲存,採用 DevIL 這個知名的程式庫。

先看看 MipmapCreate() 建立的效果怎樣,此圖是將 Mipmap 各層的圖片疊加在一起:



看起來效果還不錯,這測試程式使用 vs2008 編寫,源碼下載:
https://www.dropbox.com/s/q3nlvb7qwkr4wg8/MipmapCreateTest.rar
http://pan.baidu.com/s/1i3BUiJ7

要編譯請先看一下內附的 ReadMe.txt 有關 DevIL 的說明。

以下列出程式碼:

2014年6月9日 星期一

Mipmap 建立函數

可以用不限長寬的圖片來產生 Mipmap 所須各圖層的圖片。

MipmapCreate() 的第一個參數 Mipmap 用於回傳 Mipmap 所有圖層的陣列,格式為
{第 0 層圖片的指標, 第 1 層圖片的指標, ... 第 LevelNum-1 層圖片的指標}

第二個參數 WidthHeight 用於回傳各層圖片的長寬,格式為
{
第 0 層圖片的 Width, 第 0 層圖片的 Height,
...
第 LevelNum-1 層圖片的 Width, 第 LevelNum-1 層圖片的 Height
}

第三個參數 LevelNum 用於回傳建立的層數