有時突然收了一份程式碼,只是想先看它的執行結果,還不想去開 VC 這麼肥的程式,這裡提供一個簡單方法。

在桌面上建立一個 x.bat (檔名可自己命名),內容如下

edisonx 發表在 痞客邦 PIXNET 留言(0) 人氣()

以下說明之方法,與平方取中法均有相似之處,其重大缺點都一樣,最後容易面臨退化之窘境。

Midproduct Method (中間乘積法)

edisonx 發表在 痞客邦 PIXNET 留言(0) 人氣()

K algorithm ( "Super-random" number generator)

這是由 Kunth 於 The Art Of Programming 裡提出說明,當時 Kunth 試著以此演算法建立較好之 PRNG,也強調讀者不必特別研究它,故這部份沒太大興趣者可跳過,流程大致如下,其中 ** 代表次方,如 3**5 代表 3 的 5 次方。(以下特別注意 K1, K2)

edisonx 發表在 痞客邦 PIXNET 留言(0) 人氣()

Midsquare method(中間平方法 / 平方取中法)

這部份主要參考 The Art Of Computer Programming.

edisonx 發表在 痞客邦 PIXNET 留言(0) 人氣()

前言

1. 這系列文章主要在探討亂數問題,我認為任何 coder 即使不知道如何寫出一份亂數產生器,但應必須知道亂數之原理及其使用之注意事項。

文章標籤

edisonx 發表在 痞客邦 PIXNET 留言(0) 人氣()

這部份的參考資料還多了一份 pdf

16. 質數個數問題

文章標籤

edisonx 發表在 痞客邦 PIXNET 留言(0) 人氣()


文章標籤

edisonx 發表在 痞客邦 PIXNET 留言(0) 人氣()

8. 篩法概述

全名為 埃拉托斯特尼(Eratosthenes,古希臘數學家) 篩法,這裡只概述其大致概念。

文章標籤

edisonx 發表在 痞客邦 PIXNET 留言(0) 人氣()

前二、三個星期幾乎每天都在搞這個,但原始碼實在又多又亂,

說是「深入」其實有點不敢當,畢竟沒有很嚴謹的定義、計算,

文章標籤

edisonx 發表在 痞客邦 PIXNET 留言(1) 人氣()

ptt 上看到的問題,原題意是在 Dev-C 下要發出聲音,

一開始我沒幫忙解得很好,

edisonx 發表在 痞客邦 PIXNET 留言(2) 人氣()

題目說明

在中國象棋中,雙方之「將」與「帥」不能碰面,假設棋盤上只剩「將」與「帥」二子 (約定用 A 表示「將」,B 表示「帥」),且被限制在己方之 3*3 正方格內移動。

edisonx 發表在 痞客邦 PIXNET 留言(0) 人氣()

這是個有趣的問題..

網路上許多文章提到用 bitwise 可增進程式效能,例如:

edisonx 發表在 痞客邦 PIXNET 留言(2) 人氣()

這個應用程式無法啟動,因為找不到 MSVCD90D.dll

重新安裝應用程式可能可以解決這個問題

edisonx 發表在 痞客邦 PIXNET 留言(0) 人氣()

0. 建立適當結構體

  在做任何演化式演算法時,較建議直接先把該定的結構定出來。如下所示

edisonx 發表在 痞客邦 PIXNET 留言(0) 人氣()

x

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define N 100

int main() 
{
    unsigned i;
    int head[N]={0}, test[N]={0};
    srand(0);
    for(i=0; i!=N; ++i) head[i] = rand();
    i=0;
    while(memcmp(head, test, N*sizeof(int))){
       memcpy(test, test+1, (N-1)*sizeof(int));
       test[N-1]=rand();
       ++i;
    }
    printf("period=%u\n", i);
    printf("int_max=%d\n", INT_MAX);
    return 0;
}

 

edisonx 發表在 痞客邦 PIXNET 留言(0) 人氣()

找更多相關文章與討論

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼