锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品久久久天天影视,97久久香蕉国产线看观看,国内精品久久久久久久亚洲 http://www.shnenglu.com/aaxron/category/15781.html璁板綍淇鐨勫嵃璁?
zh-cn Wed, 07 Aug 2013 23:02:26 GMT Wed, 07 Aug 2013 23:02:26 GMT 60 鍒ゆ柇鎵嬫寚鎸変笅 http://www.shnenglu.com/aaxron/archive/2013/08/06/202371.html澶╀笅 澶╀笅 Tue, 06 Aug 2013 10:47:00 GMT http://www.shnenglu.com/aaxron/archive/2013/08/06/202371.html http://www.shnenglu.com/aaxron/comments/202371.html http://www.shnenglu.com/aaxron/archive/2013/08/06/202371.html#Feedback 0 http://www.shnenglu.com/aaxron/comments/commentRss/202371.html http://www.shnenglu.com/aaxron/services/trackbacks/202371.html void BlockVar(const UINT8 *pImg, UINT32 *p_var, UINT32 *p_avr) { UINT8 i; UINT8 j; UINT8 *p; UINT32 AverTemp=0; UINT32 VarTemp=0; p=(UINT8 *)pImg; // block 32*32 for (i=0;i<32;i++) { p=(UINT8*)(pImg+256*i); for (j=0;j<32;j++) { AverTemp+=*p; p++; } } AverTemp>>=10; *p_avr=AverTemp; for (i=0;i<32;i++) { p=(UINT8 *)(pImg+256*i); for (j=0;j<32;j++) { VarTemp+=SQ((*p)-AverTemp); p++; } } *p_var=(VarTemp>>10); }bool FpIsPressFinger(const UINT8 *pImg) { UINT32 AverTemp=0; UINT32 VarTemp=0; UINT32 Aver_Var_Val = 0; UINT32 VarTemps =0; UINT32 AverTemps = 0; // BLOCK 1 BlockVar(pImg+(85+6)*256+256/3+11,&VarTemp,&AverTemp); AverTemps+=AverTemp; VarTemps+=VarTemp; // BLOCK 2 BlockVar(pImg+(85+6)*256+256/3+11+32+10,&VarTemp,&AverTemp); AverTemps+=AverTemp; VarTemps+=VarTemp; // BLOCK 3 BlockVar(pImg+(85+7+32+6)*256+256/3+11,&VarTemp,&AverTemp); AverTemps+=AverTemp; VarTemps+=VarTemp; // BLOCK 4 BlockVar(pImg+(85+7+32+6)*256+256/3+11+32+10,&VarTemp,&AverTemp); AverTemps+=AverTemp; VarTemps+=VarTemp; AverTemps>>=2; VarTemps>>=2; pr_debug("VarTemps=%u,AverTemps=%u \r\n",VarTemps,AverTemps); return (bool )(( AverTemps<=185 ) && (VarTemps >=70)); } ]]>璁$畻鏈鴻瑙夈佹満鍣ㄥ涔犵浉鍏抽鍩熻鏂囧拰婧愪唬鐮佸ぇ闆嗗悎(杞? http://www.shnenglu.com/aaxron/archive/2013/04/26/199726.html澶╀笅 澶╀笅 Fri, 26 Apr 2013 00:42:00 GMT http://www.shnenglu.com/aaxron/archive/2013/04/26/199726.html http://www.shnenglu.com/aaxron/comments/199726.html http://www.shnenglu.com/aaxron/archive/2013/04/26/199726.html#Feedback 0 http://www.shnenglu.com/aaxron/comments/commentRss/199726.html http://www.shnenglu.com/aaxron/services/trackbacks/199726.html 闃呰鍏ㄦ枃 ]]> [杞琞涓冪鎺掑簭綆楁硶鐨勭畝鍗曞垎鏋愪笌瀹炵幇 http://www.shnenglu.com/aaxron/archive/2013/03/27/198871.html澶╀笅 澶╀笅 Wed, 27 Mar 2013 10:23:00 GMT http://www.shnenglu.com/aaxron/archive/2013/03/27/198871.html http://www.shnenglu.com/aaxron/comments/198871.html http://www.shnenglu.com/aaxron/archive/2013/03/27/198871.html#Feedback 0 http://www.shnenglu.com/aaxron/comments/commentRss/198871.html http://www.shnenglu.com/aaxron/services/trackbacks/198871.html /* 杞嚜:http://www.shnenglu.com/chenjt3533/archive/2013/03/25/198815.html */ #include "stdafx.h"/* --- 鍐掓場鎺掑簭 --- 鑷笅鑰屼笂鐨勪袱涓ゆ瘮杈冿紝灝忔場鎺掑湪澶ф場鍓嶏紝涓瓚熷啋鍑轟竴涓渶灝忔場銆?br />*/ void BubbleSort(int nArray[], int nLength) { int i = nLength - 1; int j = 0; int temp = 0; for (i = nLength - 1; i > 0; --i) { for (j = i - 1; j >= 0; --j) { if (nArray[j] > nArray[j + 1]) { temp = nArray[j + 1]; nArray[j + 1] = nArray[j]; nArray[j] = temp; } } } }/* --- 閫夋嫨鎺掑簭 --- 鑷笅鑰屼笂鐨勪袱涓ゆ瘮杈冿紝璁板綍鏈灝忔暟鐨勪笅鏍囷紝灝嗘渶涓婇潰鐨勬暟涓庢渶灝忔暟浜ゆ崲銆?br />*/ void SelectSort(int nArray[], int nLength) { int tempIndex = 0; int tempValue = 0; for (int i = 0; i < nLength; ++i) { tempIndex = i; for (int j = i + 1; j < nLength; ++j) { if (nArray[tempIndex] > nArray[j]) { tempIndex = j; } } tempValue = nArray[i]; nArray[i] = nArray[tempIndex]; nArray[tempIndex] = tempValue; } }/* --- 鎻掑叆鎺掑簭 --- 灝嗘暟鎹彃鍏ュ埌宸叉帓搴忕殑搴忓垪涓紝杈規壘鍚堥傜殑浣嶇疆錛岃竟縐誨姩鏁版嵁錛屾壘鍒板悎閫備綅緗彃鍏ユ暟鎹?br />*/ void InsertSort(int nArray[], int nLength) { for (int i = 1; i < nLength; ++i) { int temp = nArray[i]; int j = i; for (; j > 0 && nArray[j - 1] > temp; --j) { nArray[j] = nArray[j - 1]; } nArray[j] = temp; } }/* --- 蹇熸帓搴?nbsp;--- 鏄鍐掓場鎺掑簭鐨勬敼榪涖?br />1錛庡厛浠庢暟鍒椾腑鍙栧嚭涓涓暟浣滀負鍩哄噯鏁? 2錛庡垎鍖鴻繃紼嬶紝灝嗘瘮榪欎釜鏁板ぇ鐨勬暟鍏ㄦ斁鍒板畠鐨勫彸杈癸紝灝忎簬鎴栫瓑浜庡畠鐨勬暟鍏ㄦ斁鍒板畠鐨勫乏杈? 3錛庡啀瀵瑰乏鍙沖尯闂撮噸澶嶇浜屾錛岀洿鍒板悇鍖洪棿鍙湁涓涓暟. 鍒嗗尯榪囩▼鍙互褰㈣薄鐨勬弿榪頒負“鎸栧潙濉暟”錛?br />1錛庡皢鍩哄噯鏁皀Base鎸栧嚭褰㈡垚絎竴涓潙nArray[nLow]; 2錛巒High--鐢卞悗鍚戝墠鎵炬瘮nBase灝忕殑鏁幫紝鎵懼埌鍚庢寲鍑烘鏁板~鍓嶄竴涓潙nArray[nLow]涓? 3錛巒Low++鐢卞墠鍚戝悗鎵炬瘮nBase澶х殑鏁幫紝鎵懼埌鍚庝篃鎸栧嚭姝ゆ暟濉埌鍓嶄竴涓潙nArray[nHigh]涓? 4錛庡啀閲嶅鎵ц2錛?浜屾錛岀洿鍒皀Low==nHigh錛屽皢鍩哄噯鏁皀Base濉叆nArray[nLow]涓?*/ int AdjustArray(int nArray[], int nLow, int nHigh) { int nBase = nArray[nLow]; while (nLow < nHigh) { while (nLow < nHigh && nBase <= nArray[nHigh]) --nHigh; if (nLow < nHigh) { nArray[nLow++] = nArray[nHigh]; } while (nLow < nHigh && nBase > nArray[nLow]) ++nLow; if (nLow < nHigh) { nArray[nHigh--] = nArray[nLow]; } } nArray[nLow] = nBase; return nLow; }void QuickSort(int nArray[], int nLow, int nHigh) { if (nLow < nHigh) { int nMid = AdjustArray(nArray, nLow, nHigh); QuickSort(nArray, 0, nMid - 1); QuickSort(nArray, nMid + 1, nHigh); } }/* --- 甯屽皵鎺掑簭 --- 鏄鐩存帴鎻掑叆鎺掑簭綆楁硶鐨勬敼榪涳紝鍙堢О緙╁皬澧為噺鎺掑簭銆?br />1銆佸皢鏁扮粍榪涜鍒嗙粍錛屼笅鏍囩浉宸甦鐨勪負涓緇勶紱 2銆佸姣忕粍涓叏閮ㄥ厓绱犺繘琛屾帓搴忥紱 3銆佺劧鍚庡啀鐢ㄤ竴涓緝灝忕殑澧為噺d, 閲嶅1銆?錛岀洿鍒癲涓?鏃訛紝鎺掑簭瀹屾垚銆?br /> 涓鑸閲忓彇鍊間負涓婁竴嬈$殑涓鍗婏紝d = 1/2 d錛岀涓嬈″彇鍊間負鏁扮粍闀垮害鐨勪竴鍗娿?br /> */ void ShellSort(int nArray[], int nLength) { for (int nDifference = nLength / 2; nDifference > 0; nDifference = nDifference / 2) { for (int i = nDifference; i < nLength; ++i) { int temp = nArray[i]; int j = i; for (; j > 0 && nArray[j - 1] > temp; --j) { nArray[j] = nArray[j - 1]; } nArray[j] = temp; } } }/* --- 褰掑茍鎺掑簭 --- 鏄皢涓や釜宸茬粡鎺掑簭鐨勫簭鍒楀悎騫舵垚涓涓湁搴忓簭鍒椼?br />1銆佸緟鎺掑簭搴忓垪鍒嗕負涓や釜瀛愬簭鍒? 2銆佹瘡涓瓙搴忓垪閲嶅姝ラ1錛岀洿鍒版瘡涓瓙搴忓垪鍙湁涓涓厓绱? 3銆佹寜澶у皬欏哄簭鍚堝茍涓や釜瀛愬簭鍒? 4銆侀噸澶嶆楠?錛岀洿鍒板悎騫朵負涓涓暣浣撴湁搴忓簭鍒楋紝鎺掑簭瀹屾垚銆?br /> */ void Merge(int nArray[], int nLow, int nHigh) { int nFirst = nLow; int nMid = (nLow + nHigh) / 2; int nSecond = nMid + 1; int * p = (int *)malloc(sizeof (int ) * (nHigh - nLow + 1)); int nIndex = 0; while (nFirst <= nMid && nSecond <= nHigh) { if (nArray[nFirst] > nArray[nSecond]) { p[nIndex] = nArray[nSecond++]; } else { p[nIndex] = nArray[nFirst++]; } ++nIndex; } while (nFirst <= nMid) { p[nIndex++] = nArray[nFirst++]; } while (nSecond <= nHigh) { p[nIndex++] = nArray[nSecond++]; } for (int i = 0; i <= nIndex && nLow <= nHigh;) { nArray[nLow++] = p[i++]; } free(p); }void MergeSort(int nArray[], int nLow, int nHigh) { if (nLow < nHigh) { int nMid = (nLow + nHigh) / 2; MergeSort(nArray, nLow, nMid); MergeSort(nArray, nMid+1, nHigh); Merge(nArray, nLow, nHigh); } }/* --- 鍫嗘帓搴?nbsp;--- 1銆佸厛灝嗘暟緇勮漿鎹負瀹屽叏浜屽弶鏍戯紱 2銆佽皟鏁翠簩鍙夋爲褰㈠澶ч《鍫嗭紱 3銆佸皢鏍圭粨鐐逛笌鏈鍚庝竴涓彾瀛愮粨鐐逛簰鎹紝鍗沖皢鏈澶у厓绱犳斁鍦ㄦ暟緇勭殑鏈熬錛屾暟緇勭殑闀垮害鍑忎竴錛?br />4銆佸啀閲嶅2銆?錛岀洿鍒版暟緇勯暱搴︿負1錛屾帓搴忓畬鎴愩?br /> */ void AdjustHeap(int nArray[], int nLength, int nIndex) { int nLeft = nIndex * 2 + 1; int nRight = nIndex * 2 + 2; int nParent = nIndex; while (nLeft < nLength && nRight < nLength) { int nBigIndex = (nArray[nLeft] > nArray[nRight] ? nLeft : nRight); if (nArray[nParent] < nArray[nBigIndex]) { int temp = nArray[nParent]; nArray[nParent] = nArray[nBigIndex]; nArray[nBigIndex] = temp; nLeft = nBigIndex * 2 + 1; nRight = nBigIndex * 2 + 2; } break ; } }void BuildHeap(int nArray[], int nLength) { for (int i = nLength / 2 - 1; i >= 0; --i) { AdjustHeap(nArray, nLength, i); } }void HeapSort(int nArray[], int nLength) { BuildHeap(nArray, nLength); while (nLength > 1) { int temp = nArray[0]; nArray[0] = nArray[nLength - 1]; nArray[nLength - 1] = temp; AdjustHeap(nArray, --nLength, 0); } }void Test_Sort() { int nArray[5] = {1,3,2,5,4}; BubbleSort(nArray, 5); // SelectSort(nArray, 5); // InsertSort(nArray, 5); // QuickSort(nArray, 0, 4); // ShellSort(nArray, 5); // MergeSort(nArray, 0, 4); // HeapSort(nArray, 5); for (int n = 0; n < 5; ++n) { std::cout << nArray[n] << " "; } std::cout << std::endl; }int main() { Test_Sort(); system("pause"); return 0; } ]]>鍔ㄦ佽鍒掔畻娉曪紙5錛夛細鑳屽寘鏈澶т環鍊奸棶棰?/title> http://www.shnenglu.com/aaxron/archive/2013/03/27/198857.html澶╀笅 澶╀笅 Wed, 27 Mar 2013 01:53:00 GMT http://www.shnenglu.com/aaxron/archive/2013/03/27/198857.html http://www.shnenglu.com/aaxron/comments/198857.html http://www.shnenglu.com/aaxron/archive/2013/03/27/198857.html#Feedback 0 http://www.shnenglu.com/aaxron/comments/commentRss/198857.html http://www.shnenglu.com/aaxron/services/trackbacks/198857.html #include "stdafx.h"int c[20][100];/* 瀵瑰簲姣忕鎯呭喌鐨勬渶澶т環鍊?/span>*/ // int m 鑳屽寘瀹歸噺 // int n 鑳屽寘涓暟 int knapsack(int m,int n) { int i,j,w[20],p[20]; for (i=1;i<n+1;i++) { printf("璇瘋緭鍏ョ(%d)涓墿鍝侀噸閲?浠峰?\n",i); scanf("%d,%d",&w[i],&p[i]); } for (i=0;i<10;i++) for (j=0;j<100;j++) c[i][j]=0;/* 鍒濆鍖栨暟緇?/span>*/ for (i=1;i<n+1;i++) { for (j=1;j<m+1;j++) { if (w[i]<=j) /* 濡傛灉褰撳墠鐗╁搧鐨勫閲忓皬浜庤儗鍖呭閲?/span>*/ { if (p[i]+c[i-1][j-w[i]]>c[i-1][j]) { // 濡傛灉鏈墿鍝佺殑浠峰煎姞涓婅儗鍖呭墿涓嬬殑絀洪棿鑳芥斁鐨勭墿鍝佺殑浠峰?br /> // 澶т簬涓婁竴嬈¢夋嫨鐨勬渶浣蟲柟妗? // 鍒欐洿鏂癱[i][j] c[i][j]=p[i]+c[i-1][j-w[i]]; } else { c[i][j]=c[i-1][j]; } } else c[i][j]=c[i-1][j]; } } return (c[n][m]); }int main() { // int m 鑳屽寘瀹歸噺 // int n 鑳屽寘涓暟 int m,n; printf("璇瘋緭鍏ヨ儗鍖呮渶澶ф壙閲?鐗╁搧涓暟:\n"); scanf("%d,%d",&m,&n); printf("鏈澶т環鍊?%d \r\n",knapsack(m,n)); int i,j; m += 3; n += 3; for (j=0;j<m;j++) { printf("%02d ",j); } printf("\r\n"); for (j=0;j<m;j++) { printf("----",j); } printf("\r\n"); for (i=0;i<n;i++) { for (j=0;j<m;j++) { printf("%02d ",c[i][j]); if (j==m-1) printf("\n"); } } system("pause"); return 0; }
]]> crc32 For Linux 瀛樻。 http://www.shnenglu.com/aaxron/archive/2013/03/25/198800.html澶╀笅 澶╀笅 Mon, 25 Mar 2013 03:49:00 GMT http://www.shnenglu.com/aaxron/archive/2013/03/25/198800.html http://www.shnenglu.com/aaxron/comments/198800.html http://www.shnenglu.com/aaxron/archive/2013/03/25/198800.html#Feedback 0 http://www.shnenglu.com/aaxron/comments/commentRss/198800.html http://www.shnenglu.com/aaxron/services/trackbacks/198800.html //緙栬瘧:/usr/local/arm/4.3.1/bin/arm-linux-g++ #include <unistd.h> #include <stdlib.h> #include <stdio.h> #include <sys/time.h> typedef unsigned int DWORD; typedef unsigned char BYTE; unsigned int GetTickCount(void ) { struct timeval tv; if (gettimeofday(&tv, NULL)!=0) return 0; return (tv.tv_sec * 1000 + tv.tv_usec / 1000); }void PrintCrcTable() { // Poly = 0xedb88320 WinRAR Poly DWORD Val; for (DWORD i = 0; i < 256; i++) { Val = i; for (DWORD k = 0; k < 8; k++) { if (Val & 1) Val = 0xedb88320L ^ (Val >> 1); else Val = Val >> 1; } printf ("0x%08x, ", Val); if (0 == ((i+1)%6)) printf ("\n"); } }const DWORD Crc32Table[] = { 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, 0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9, 0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59, 0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599, 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433, 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01, 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65, 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f, 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b, 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d, 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777, 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45, 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9, 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d }; DWORD GenerateCrc32(DWORD PartialCrc,BYTE* Buffer,DWORD Length) { DWORD crc; DWORD i; // Generate the CRC32 checksum. crc = PartialCrc ^ 0xffffffffL; for (i = 0; i < Length; i++) { crc = Crc32Table[(crc ^ Buffer[i]) & 0xff] ^ (crc >> 8); } return (crc ^ 0xffffffffL); }// 嫻嬭瘯紼嬪簭 int main(int argc,char * argv[]) { char * szFileName = NULL; if (argc<2) { printf("Usage:%s <filename> \r\n",argv[0]); return -1; } szFileName = argv[1]; FILE *fp = fopen(szFileName,"rb"); if (NULL == fp) { printf("Open %s error:%d \r\n",szFileName); return 0; } DWORD dwStartTime = GetTickCount(); printf("dwStartTime:%u \r\n",dwStartTime); DWORD crc32 = 0; BYTE c = 0; while (1 == fread(&c,1,1,fp)) crc32 = GenerateCrc32(crc32,&c,1); fclose(fp); DWORD dwEndTime = GetTickCount(); printf("dwEndTime:%u \r\n",dwEndTime); printf("calc_crc32(%s) = 0x%08X ,elapsed %u (ms) \r\n",szFileName,crc32,dwEndTime - dwStartTime); return 0; } ]]> 鍔ㄦ佽鍒掔畻娉曪紙4錛夛細lcs閫掑綊綆楁硶python鐨勫疄鐜?/title> http://www.shnenglu.com/aaxron/archive/2013/03/21/198690.html澶╀笅 澶╀笅 Thu, 21 Mar 2013 11:01:00 GMT http://www.shnenglu.com/aaxron/archive/2013/03/21/198690.html http://www.shnenglu.com/aaxron/comments/198690.html http://www.shnenglu.com/aaxron/archive/2013/03/21/198690.html#Feedback 1 http://www.shnenglu.com/aaxron/comments/commentRss/198690.html http://www.shnenglu.com/aaxron/services/trackbacks/198690.html # coding:gbk import os,sys def lcs(short, long): m = len(short) n = len(long) if (m <= 0 or n <= 0): return "" ; if m > n: short,long = long,short if short in long: return short t1 = lcs(short[ 1 :],long) t2 = lcs(short[0: - 1 ],long) if t1 > t2: return t1 else : return t2 def main(): if len(sys.argv) < 3 : print " 浣跨敤:lcs <瀛楃涓?> <瀛楃涓?> " return a = lcs(sys.argv[ 1 ],sys.argv[ 2 ]) print " 鏈澶у叕鍏卞瓙涓查暱搴?%d " % len(a) print " 鏈澶у叕鍏卞瓙涓? " + a if __name__ == ' __main__ ' : main() ]]> 鍔ㄦ佽鍒掔畻娉曪紙3錛夛細鑿叉嘗閭e鏁板垪 http://www.shnenglu.com/aaxron/archive/2013/03/21/198683.html澶╀笅 澶╀笅 Thu, 21 Mar 2013 08:25:00 GMT http://www.shnenglu.com/aaxron/archive/2013/03/21/198683.html http://www.shnenglu.com/aaxron/comments/198683.html http://www.shnenglu.com/aaxron/archive/2013/03/21/198683.html#Feedback 0 http://www.shnenglu.com/aaxron/comments/commentRss/198683.html http://www.shnenglu.com/aaxron/services/trackbacks/198683.html 鍘熷垱浣滃搧錛屽厑璁歌漿杞斤紝杞澆鏃惰鍔″繀浠ヨ秴閾炬帴褰㈠紡鏍囨槑鏂囩珷
#include " stdafx.h " using namespace std; /* algorithm 鍦ㄦ暟瀛椾笂閫掑綊琛ㄧず鐨勯棶棰樹篃鍙互琛ㄧず鎴愰掑綊綆楁硶錛屽湪璁稿鎯呭艦涓嬪鏈寸礌鐨勭┓涓炬悳绱㈠緱鍒版樉钁楃殑鎬ц兘鏀硅繘銆?br />浠諱綍鏁板瓧閫掓帹鍏紡閮藉彲浠ョ洿鎺ョ炕璇戞垚閫掑綊綆楁硶錛屼絾鏄熀鏈幇瀹炴槸緙栬瘧鍣ㄥ父甯鎬笉鑳芥紜湴瀵瑰緟閫掑綊綆楁硶錛岀粨鏋滀駭鐢熶綆鏁堢殑紼嬪簭錛屽綋鎬鐤戝彲鑳芥槸榪欑鎯呭喌鏃訛紝 蹇呴』鍐嶇粰緙栬瘧鍣ㄦ彁渚涗竴浜涘府鍔╋紝灝嗛掑綊綆楁硶閲嶆柊鍐欐垚闈為掑綊綆楁硶錛岃鍚庤呮妸榪欎簺瀛愰棶棰樼殑絳旀緋葷粺鍦拌褰曞湪涓涓〃錛坱able錛夊唴錛?br />鍒╃敤榪欑鏂規硶鐨勪竴縐嶆妧宸хО涓哄姩鎬佽鍒掞紙dynamic programming錛夈?br /> 鑿叉嘗閭e鏁板垪鎸囩殑鏄繖鏍蜂竴涓暟鍒楋細 1錛?錛?錛?錛?錛?錛?3錛?1…… 榪欎釜鏁板垪浠庣浜岄」寮濮嬶紝姣忎竴欏歸兘絳変簬鍓嶄袱欏逛箣鍜?br />*/ unsigned int fib1(unsigned int n) { if (n <= 1 ) { return 1 ; } else { return fib1(n - 1 ) + fib1(n - 2 ); } } unsigned int fib2(unsigned int n) { if (n <= 1 ) { return 1 ; } unsigned int fib_n = 1 ; unsigned int fib_n_1 = 1 ; unsigned int fib_n_2 = 1 ; for ( int i = 2 ;i <= n;i ++ ) { fib_n = fib_n_1 + fib_n_2; fib_n_2 = fib_n_1; fib_n_1 = fib_n; } return fib_n; } int main() { for ( int i = 1 ;i < 11 ;i ++ ) { printf( " fib1(%u)=%u \r\n " ,i,fib1(i)); printf( " fib2(%u)=%u \r\n " ,i,fib2(i)); } system( " pause " ); return 0 ; }
]]>鍥炴函綆楁硶(2):鍏殗鍚庨棶棰橈紙闈為掑綊錛?/title> http://www.shnenglu.com/aaxron/archive/2013/03/20/198638.html澶╀笅 澶╀笅 Wed, 20 Mar 2013 10:09:00 GMT http://www.shnenglu.com/aaxron/archive/2013/03/20/198638.html http://www.shnenglu.com/aaxron/comments/198638.html http://www.shnenglu.com/aaxron/archive/2013/03/20/198638.html#Feedback 0 http://www.shnenglu.com/aaxron/comments/commentRss/198638.html http://www.shnenglu.com/aaxron/services/trackbacks/198638.html #include " stdafx.h " using namespace std; const int n = 9 ; static int matrix[n]; bool place( int row, int col) { for ( int prev = 1 ; prev < row; prev ++ ) if (matrix[prev] == col || labs(col - matrix[prev]) == labs(row - prev)) return false ; return true ; } void display() // 鎵撳嵃姣忎釜鐨囧悗鐨勫垪鐨勪綅緗?/span>{ int i; cout << " [ " ; for (i = 1 ; i <= 7 ; i ++ ) cout << matrix[i] << " , " ; cout << matrix[i] << " ] " << endl; } void queen( int row) { int count = 0 ; bool ret = false ; int col = 0 ; memset(matrix, 0 , sizeof (matrix)); while (row <= 8 ) { ret = false ; for (col = matrix[row] + 1 ; col <= 8 ; col ++ ) { ret = place(row,col); if (ret) // 濡傛灉(x,y)浣嶇疆鑳藉惁鎽嗘斁鐨囧悗 { matrix[row] = col; // 灝嗙i琛岀殑鐨囧悗鎽嗘斁鍦ㄧj鍒?/span> break ; // 璺沖嚭榪欎竴灞傚驚鐜紝寮濮嬫憜鏀句笅涓琛岀殑鐨囧悗 } } if ( ! ret) // 濡傛灉寰幆瀹岃繖涓琛岋紝姣忎釜浣嶇疆閮藉啿紿?/span> { matrix[row] = 0 ; // 灝嗚繖涓琛岀殑鐨囧悗浣嶇疆閲嶇疆涓?; row -- ; // 榪斿洖鍒頒笂涓琛?/span> if (row == 0 ) break ; // 濡傛灉宸茬粡榪斿洖鍒頒簡絎?琛岋紝璇存槑鎵鏈夋儏鍐甸兘鎵懼畬浜?/span> } else { if (row == 8 ) // 濡傛灉鎵懼埌浜嗙8琛岋紝璇存槑鏈夋弧瓚蟲潯浠剁殑緇撴灉 { display(); // 杈撳嚭緇撴灉 count ++ ; } else row ++ ; } } cout << count << endl; } int main() { queen( 1 ); system( " pause " ); return 0 ; } ]]> 鍥炴函綆楁硶(1):鍏殗鍚庨棶棰?/title> http://www.shnenglu.com/aaxron/archive/2013/03/20/198631.html澶╀笅 澶╀笅 Wed, 20 Mar 2013 07:37:00 GMT http://www.shnenglu.com/aaxron/archive/2013/03/20/198631.html http://www.shnenglu.com/aaxron/comments/198631.html http://www.shnenglu.com/aaxron/archive/2013/03/20/198631.html#Feedback 0 http://www.shnenglu.com/aaxron/comments/commentRss/198631.html http://www.shnenglu.com/aaxron/services/trackbacks/198631.html #include " stdafx.h " /* 綆楁硶緋誨垪---鍥炴函綆楁硶 寮曡█ 瀵繪壘闂鐨勮В鐨勪竴縐嶅彲闈犵殑鏂規硶鏄鍏堝垪鍑烘墍鏈夊欓夎В錛岀劧鍚庝緷嬈℃鏌ユ瘡涓涓紝鍦ㄦ鏌ュ畬鎵鏈夋垨閮ㄥ垎鍊欓夎В鍚庯紝鍗沖彲鎵懼埌鎵闇瑕佺殑瑙c傜悊璁轟笂錛屽綋鍊欓夎В鏁伴噺鏈夐檺騫朵笖閫氳繃媯鏌ユ墍鏈夋垨閮ㄥ垎鍊欓夎В鑳藉寰楀埌鎵闇瑙f椂錛屼笂榪版柟娉曟槸鍙鐨勩備笉榪囷紝鍦ㄥ疄闄呭簲鐢ㄤ腑錛屽緢灝戜嬌鐢ㄨ繖縐嶆柟娉曪紝鍥犱負鍊欓夎В鐨勬暟閲忛氬父閮介潪甯稿ぇ(姣斿鎸囨暟綰э紝鐢氳嚦鏄ぇ鏁伴樁涔橈級錛屽嵆渚塊噰鐢ㄦ渶蹇殑璁$畻鏈轟篃鍙兘瑙e喅瑙勬ā寰堝皬鐨勯棶棰樸傚鍊欓夎В榪涜緋葷粺媯鏌ョ殑鏂規硶鏈夊縐嶏紝鍏朵腑鍥炴函鍜屽垎鏋濆畾鐣屾硶鏄瘮杈冨父鐢ㄧ殑涓ょ鏂規硶銆傛寜鐓ц繖涓ょ鏂規硶瀵瑰欓夎В榪涜緋葷粺媯鏌ラ氬父浼氫嬌闂鐨勬眰瑙f椂闂村ぇ澶у噺灝?鏃犺瀵逛簬鏈鍧忔儏褰㈣繕鏄浜庝竴鑸儏褰級銆備簨瀹炰笂錛岃繖浜涙柟娉曞彲浠ヤ嬌鎴戜滑閬垮厤瀵瑰緢澶х殑鍊欓夎В闆嗗悎榪涜媯鏌ワ紝鍚屾椂鑳藉淇濊瘉綆楁硶榪愯緇撴潫鏃跺彲浠ユ壘鍒版墍闇瑕佺殑瑙c傚洜姝わ紝榪欎簺鏂規硶閫氬父鑳藉鐢ㄦ潵姹傝В瑙勬ā寰堝ぇ鐨勯棶棰樸?br />綆楁硶鎬濇兂 鍥炴函(backtracking錛夋槸涓縐嶇郴緇熷湴鎼滅儲闂瑙g瓟鐨勬柟娉曘備負浜嗗疄鐜板洖婧紝棣栧厛闇瑕佷負闂瀹氫箟涓涓В絀洪棿(solution space錛夛紝榪欎釜絀洪棿蹇呴』鑷沖皯鍖呭惈闂鐨勪竴涓В(鍙兘鏄渶浼樼殑錛夈?br />涓嬩竴姝ユ槸緇勭粐瑙g┖闂翠互渚垮畠鑳借瀹規槗鍦版悳绱€傚吀鍨嬬殑緇勭粐鏂規硶鏄浘(榪峰闂)鎴栨爲(N鐨囧悗闂)銆?br />涓鏃﹀畾涔変簡瑙g┖闂寸殑緇勭粐鏂規硶錛岃繖涓┖闂村嵆鍙寜娣卞害浼樺厛鐨勬柟娉曚粠寮濮嬭妭鐐硅繘琛屾悳绱€?br /> 鍥炴函鏂規硶鐨勬楠ゅ涓嬶細 1) 瀹氫箟涓涓В絀洪棿錛屽畠鍖呭惈闂鐨勮В銆?br />2) 鐢ㄩ備簬鎼滅儲鐨勬柟寮忕粍緇囪絀洪棿銆?br />3) 鐢ㄦ繁搴︿紭鍏堟硶鎼滅儲璇ョ┖闂達紝鍒╃敤闄愮晫鍑芥暟閬垮厤縐誨姩鍒頒笉鍙兘浜х敓瑙g殑瀛愮┖闂淬?br />鍥炴函綆楁硶鐨勪竴涓湁瓚g殑鐗規ф槸鍦ㄦ悳绱㈡墽琛岀殑鍚屾椂浜х敓瑙g┖闂淬傚湪鎼滅儲鏈熼棿鐨勪換浣曟椂鍒伙紝浠呬繚鐣欎粠寮濮嬭妭鐐瑰埌褰撳墠鑺傜偣鐨勮礬寰勩傚洜姝わ紝鍥炴函綆楁硶鐨勭┖闂撮渶姹備負O(浠庡紑濮嬭妭鐐硅搗鏈闀胯礬寰勭殑闀垮害錛夈傝繖涓壒鎬ч潪甯擱噸瑕侊紝鍥犱負瑙g┖闂寸殑澶у皬閫氬父鏄渶闀胯礬寰勯暱搴︾殑鎸囨暟鎴栭樁涔樸傛墍浠ュ鏋滆瀛樺偍鍏ㄩ儴瑙g┖闂寸殑璇濓紝鍐嶅鐨勭┖闂翠篃涓嶅鐢ㄣ?br /> 綆楁硶搴旂敤 鍥炴函綆楁硶鐨勬眰瑙h繃紼嬪疄璐ㄤ笂鏄竴涓厛搴忛亶鍘嗕竴媯?鐘舵佹爲"鐨勮繃紼?鍙槸榪欐5鏍戜笉鏄亶鍘嗗墠棰勫厛寤虹珛鐨?鑰屾槸闅愬惈鍦ㄩ亶鍘嗚繃紼嬩腑<<鏁版嵁緇撴瀯>>(涓ヨ敋鏁?. 鍥炴函綆楁硶鐨勫熀鏈濇兂鏄細浠庝竴鏉¤礬寰鍓嶈蛋錛岃兘榪涘垯榪涳紝涓嶈兘榪涘垯閫鍥炴潵錛屾崲涓鏉¤礬鍐嶈瘯銆?br /> 鍥炴函娉曟槸涓涓棦甯︽湁緋葷粺鎬у張甯︽湁璺寵穬鎬х殑鎼滅儲綆楁硶銆傚畠鍦ㄥ寘鍚棶棰樼殑鎵鏈夎В鐨勮В絀洪棿鏍戜腑錛屾寜鐓ф繁搴︿紭鍏堢殑絳栫暐錛屼粠鏍圭粨鐐瑰嚭鍙戞悳绱㈣В鐨勭┖闂存爲銆傜畻娉曟悳绱㈣嚦瑙g殑絀洪棿鏍戠殑浠諱竴緇撶偣鏃訛紝鎬繪槸鍏堝垽鏂緇撶偣鏄惁鑲畾涓嶅寘鍚棶棰樼殑瑙c傚鏋滆偗瀹氫笉鍖呭惈錛屽垯璺寵繃瀵逛互璇ョ粨鐐逛負鏍圭殑瀛愭爲鐨勭郴緇熸悳绱紝閫愬眰鍚戝叾紲栧厛緇撶偣鍥炴函銆傚惁鍒欙紝榪涘叆璇ュ瓙鏍戯紝緇х畫鎸夋繁搴︿紭鍏堢殑絳栫暐榪涜鎼滅儲銆傚洖婧硶鍦ㄧ敤鏉ユ眰闂鐨勬墍鏈夎В鏃訛紝瑕佸洖婧埌鏍癸紝涓旀牴緇撶偣鐨勬墍鏈夊瓙鏍戦兘宸茶鎼滅儲閬嶆墠緇撴潫銆傝屽洖婧硶鍦ㄧ敤鏉ユ眰闂鐨勪換涓瑙f椂錛屽彧瑕佹悳绱㈠埌闂鐨勪竴涓В灝卞彲浠ョ粨鏉熴傝繖縐嶄互娣卞害浼樺厛鐨勬柟寮忕郴緇熷湴鎼滅儲闂鐨勮В鐨勭畻娉曠О涓哄洖婧硶錛屽畠閫傜敤浜庤В涓浜涚粍鍚堟暟杈冨ぇ鐨勯棶棰樸?br /> 綆楁硶妗嗘灦錛?br /> 1銆侀棶棰樼殑瑙g┖闂達細搴旂敤鍥炴函娉曡В闂鏃訛紝棣栧厛搴旀槑紜畾涔夐棶棰樼殑瑙g┖闂淬傞棶棰樼殑瑙g┖闂村簲鑷沖皯鍖呭惈涓涓?鏈浼橈級瑙c?br /> 2銆佸洖婧硶鐨勫熀鏈濇兂錛氱‘瀹氫簡瑙g┖闂寸殑緇勭粐緇撴瀯鍚庯紝鍥炴函娉曞氨浠庡紑濮嬬粨鐐?鏍圭粨鐐癸級鍑哄彂錛屼互娣卞害浼樺厛鐨勬柟寮忔悳绱㈡暣涓В絀洪棿錛岃繖涓紑濮嬬粨鐐瑰氨鎴愪負涓涓椿緇撶偣錛屽悓鏃朵篃鎴愪負褰撳墠鐨勬墿灞曠粨鐐廣傚湪褰撳墠鐨勬墿灞曠粨鐐瑰錛屾悳绱㈠悜綰墊繁鏂瑰悜縐昏嚦涓涓柊緇撶偣錛岃繖涓柊緇撶偣灝辨垚涓轟竴涓柊鐨勬椿緇撶偣錛屽茍鎴愪負褰撳墠鎵╁睍緇撶偣銆傚鏋滃湪褰撳墠鐨勬墿灞曠粨鐐瑰涓嶈兘鍐嶅悜綰墊繁鏂瑰悜縐誨姩錛屽垯褰撳墠鎵╁睍緇撶偣灝辨垚涓烘緇撶偣銆傛崲鍙ヨ瘽璇達紝榪欎釜緇撶偣涓嶅啀鏄竴涓椿緇撶偣銆傛鏃訛紝搴斿線鍥炵Щ鍔?鍥炴函錛夎嚦鏈榪戠殑涓涓椿緇撶偣澶勶紝騫朵嬌榪欎釜媧葷粨鐐規垚涓哄綋鍓嶇殑鎵╁睍緇撶偣銆傚洖婧硶鍗充互榪欑宸ヤ綔鏂瑰紡閫掑綊鍦板湪瑙g┖闂翠腑鎼滅儲錛岀洿鑷蟲壘鍒版墍瑕佹眰鐨勮В鎴栬В絀洪棿涓凡娌℃湁媧葷粨鐐規椂涓烘銆?br /> 榪愮敤鍥炴函娉曡В棰橀氬父鍖呭惈浠ヤ笅涓変釜姝ラ錛?br /> (1錛夐拡瀵規墍緇欓棶棰橈紝瀹氫箟闂鐨勮В絀洪棿錛?br /> (2錛夌‘瀹氭槗浜庢悳绱㈢殑瑙g┖闂寸粨鏋勶紱 (3錛変互娣卞害浼樺厛鐨勬柟寮忔悳绱㈣В絀洪棿錛屽茍涓斿湪鎼滅儲榪囩▼涓敤鍓灊鍑芥暟閬垮厤鏃犳晥鎼滅儲銆?br /> 3銆侀掑綊鍥炴函錛氱敱浜庡洖婧硶鏄瑙g殑絀洪棿鐨勬繁搴︿紭鍏堟悳绱紝鍥犳鍦ㄤ竴鑸儏鍐典笅鍙敤閫掑綊鍑芥暟鏉ュ疄鐜板洖婧硶濡備笅錛?br /> void backtrace(int i) { for (int j=涓嬬晫;j<涓婄晫;j++) { matrix[i] = j; //鍙{婊¤凍闄愮晫鍑芥暟鍜岀害鏉熸潯浠秨 if ( 鍙()) { //緗?br /> if (i>n) { //涓鎼滅儲騫惰緭鍑虹粨鏋? } backtrace(i+1); } } } 璇存槑錛?br /> i鏄掑綊娣卞害錛?br /> n鏄繁搴︽帶鍒訛紝鍗寵В絀洪棿鏍戠殑楂樺害錛?br /> 鍙鎬у垽鏂湁涓ゆ柟闈㈢殑鍐呭錛?br /> ①涓嶆弧綰︽潫鏉′歡鍒欏壀鍘葷浉搴斿瓙鏍戯紱 ②鑻ラ檺鐣屽嚱鏁拌秺鐣岋紝涔熷壀鍘葷浉搴斿瓙鏍戯紱 ③涓よ呭潎婊¤凍鍒欒繘鍏ヤ笅涓灞傦紱 鎼滅儲錛氬叏闈㈣闂墍鏈夊彲鑳界殑鎯呭喌錛屽垎涓轟袱縐嶏細涓嶈冭檻緇欏畾闂鐨勭壒鏈夋ц川錛屾寜浜嬪厛璁懼ソ鐨勯『搴忥紝渚濇榪愮敤瑙勫垯錛屽嵆鐩茬洰鎼滅儲鐨勬柟娉曪紱鍙︿竴縐嶅垯鑰冭檻闂緇欏畾鐨勭壒鏈夋ц川錛岄夌敤鍚堥傜殑瑙勫垯錛屾彁楂樻悳绱㈢殑鏁堢巼錛屽嵆鍚彂寮忕殑鎼滅儲銆?br />*/ // 鍏殗鍚庨棶棰?br /> // 瑙g┖闂?/span>static int matirx[ 8 ] = { 0 }; static int count = 0 ; void display() { int row; int col; printf( " \r\n======%02d=======\n " ,count); for (row = 0 ; row < 8 ; row ++ ) { for (col = 0 ; col < matirx[row]; col ++ ) printf( " * " ); printf( " # " ); for (col = matirx[row] + 1 ; col < 8 ; col ++ ) printf( " * " ); printf( " \n " ); } } bool place( int row, int col) { int prev; int data; for (prev = 0 ; prev < row; prev ++ ){ data = matirx[prev]; // 鍚屼竴鍒?/span> if (col == data) return false ; // 宸︽枩綰?/span> if ((prev - row) == (col - data) ) return false ; // 鍙蟲枩綰?/span> if ((row - prev) == (col - data)) return false ; } return true ; } void queen( int row) { int col; for (col = 0 ;col < 8 ;col ++ ) { if (place(row,col)) { matirx[row] = col; if (row >= 7 ) { count ++ ,display(); // matirx[row]=0; return ; } queen(row + 1 ); // matirx[row]=0; } } } int main( void ) { queen( 0 ); system( " pause " ); return 0 ; } ]]> 綆楁硶錛氭暟瀛︾煡璇嗭紙1錛?/title> http://www.shnenglu.com/aaxron/archive/2013/03/19/198593.html澶╀笅 澶╀笅 Tue, 19 Mar 2013 09:48:00 GMT http://www.shnenglu.com/aaxron/archive/2013/03/19/198593.html http://www.shnenglu.com/aaxron/comments/198593.html http://www.shnenglu.com/aaxron/archive/2013/03/19/198593.html#Feedback 0 http://www.shnenglu.com/aaxron/comments/commentRss/198593.html http://www.shnenglu.com/aaxron/services/trackbacks/198593.html
鎺掑垪緇勫悎 鎺掑垪鐨勫畾涔夊強鍏惰綆楀叕寮忥細浠巒涓笉鍚屽厓绱犱腑錛屼換鍙杕(m≤n,m涓巒鍧囦負鑷劧鏁?涓嬪悓)涓厓绱犳寜鐓т竴瀹氱殑欏哄簭鎺掓垚涓鍒楋紝鍙仛浠巒涓笉鍚屽厓绱犱腑鍙栧嚭m涓厓绱犵殑涓涓帓鍒楋紱
浠巒涓笉鍚屽厓绱犱腑鍙栧嚭m(m≤n)涓厓绱犵殑鎵鏈夋帓鍒楃殑涓暟錛屽彨鍋氫粠n涓笉鍚屽厓绱犱腑鍙栧嚭m涓厓绱犵殑鎺掑垪鏁幫紝鐢ㄧ鍙?A(n,m)琛ㄧず銆侫(n,m)=n(n-1)(n-2)……(n-m+1)= n!/(n-m)! 姝ゅ瑙勫畾0!=1
A(n,m) = n!/(n-m)!
浠巒涓笉鍚屽厓绱犱腑浠誨彇m錛坢≤n錛変釜鍏冪礌錛屾寜鐓т竴瀹氱殑欏哄簭鎺掑垪璧鋒潵錛屽彨鍋氫粠n涓笉鍚屽厓绱犱腑鍙栧嚭m涓厓绱犵殑涓涓帓鍒椼傚綋m=n鏃舵墍鏈夌殑鎺掑垪鎯呭喌鍙叏鎺掑垪銆?/span> 緇勫悎鐨勫畾涔夊強鍏惰綆楀叕寮忥細浠巒涓笉鍚屽厓绱犱腑錛屼換鍙杕(m≤n)涓厓绱犲茍鎴愪竴緇勶紝鍙仛浠巒涓笉鍚屽厓绱犱腑鍙栧嚭m涓厓绱犵殑涓涓粍鍚堬紱浠巒涓笉鍚屽厓绱犱腑鍙栧嚭m(m≤n)涓厓绱犵殑鎵鏈夌粍鍚堢殑涓暟錛屽彨鍋氫粠n涓笉鍚屽厓绱犱腑鍙栧嚭m涓厓绱犵殑緇勫悎鏁般傜敤絎﹀彿 C(n,m) 琛ㄧず銆侰(n,m)==A(n,m)/m!錛汣(n,m)=C(n,n-m)銆?n>=m)
鎺掑垪鏁幫細 A(n,m) = n!/(n-m)!
緇勫悎鏁幫細 C(n,m)=A(n,m)/m! C(n,m)=n!/(n-m)/m! 閽堝涓涓泦鍚坣錛岃繛緇瓙闆嗗悎 E(n) = n*(1+n)/2
]]> 鍔ㄦ佽鍒掔畻娉曪紙2錛夛紝lcs綆楁硶錛屾敼榪涚┖闂村鏉傚害 http://www.shnenglu.com/aaxron/archive/2013/03/16/198491.html澶╀笅 澶╀笅 Sat, 16 Mar 2013 10:17:00 GMT http://www.shnenglu.com/aaxron/archive/2013/03/16/198491.html http://www.shnenglu.com/aaxron/comments/198491.html http://www.shnenglu.com/aaxron/archive/2013/03/16/198491.html#Feedback 0 http://www.shnenglu.com/aaxron/comments/commentRss/198491.html http://www.shnenglu.com/aaxron/services/trackbacks/198491.html const string LCS2( const string & strX, const string & strY) { int xlen = strX.size(); // 妯悜闀垮害 int ylen = strY.size(); // 綰靛悜闀垮害 vector < int > arr(ylen); // 褰撳墠琛?/span> int length = 0 ; // 鐭╅樀鍏冪礌涓殑鏈澶у?/span> int pos = 0 ; // 鐭╅樀鍏冪礌鏈澶у煎嚭鐜板湪絎嚑鍒?/span> arr.assign(ylen, 0 ); for ( int x = 0 ;x < xlen;x ++ ) { for ( int y = 0 ;y < ylen;y ++ ) { if (strX.at(x) == strY.at(y)) { if (y == 0 ) arr[y] = 1 ; else arr[y]= arr[y - 1 ] + 1 ; if (arr[y] > length) { length = arr[y]; pos = y; } } } } string res = strY.substr(pos - length + 1 ,length); return res; } ]]> 鍔ㄦ佽鍒掔畻娉曪紙1錛夛細lcs綆楁硶 http://www.shnenglu.com/aaxron/archive/2013/03/16/198487.html澶╀笅 澶╀笅 Sat, 16 Mar 2013 05:58:00 GMT http://www.shnenglu.com/aaxron/archive/2013/03/16/198487.html http://www.shnenglu.com/aaxron/comments/198487.html http://www.shnenglu.com/aaxron/archive/2013/03/16/198487.html#Feedback 0 http://www.shnenglu.com/aaxron/comments/commentRss/198487.html http://www.shnenglu.com/aaxron/services/trackbacks/198487.html #include " stdafx.h " /* 姹備袱涓瓧絎︿覆鐨勬渶澶у叕鍏卞瓙涓茬殑闂錛堢畝瑕佽鏄庯紝浠庡彟澶栦竴涓湴鏂硅漿鐨勶紝鍜屼笅闈竴綃囧悎鎴愬湪涓璧鳳級錛?br />鎶婂瓧絎︿覆1錛堥暱搴錛夋í鎺掞紝涓?錛堥暱搴錛夌珫鎺掞紝寰楀埌涓涓猰×n鐨勭煩闃礳錛岀煩闃電殑姣忎釜鍏冪礌鐨勫煎涓嬶紝濡傛灉m[i]=n[j]錛屽垯c[j][i]=1,鍚﹀垯錛宑[j][i]=0銆傜劧鍚庢壘鍑虹煩闃典腑榪炵畫鏄?鐨勫瑙掔嚎鏈闀跨殑涓涓紝鍒欏瑙掔嚎鐨勯暱搴﹀氨鏄叕鍏卞瓙涓茬殑闀垮害. LCS闂灝辨槸姹備袱涓瓧絎︿覆鏈闀垮叕鍏卞瓙涓茬殑闂銆傝В娉曞氨鏄敤涓涓煩闃墊潵璁板綍涓や釜瀛楃涓蹭腑鎵鏈変綅緗殑涓や釜瀛楃涔嬮棿鐨勫尮閰嶆儏鍐碉紝鑻ユ槸鍖歸厤鍒欎負1錛屽惁鍒欎負0銆傜劧鍚庢眰鍑哄瑙掔嚎鏈闀跨殑1搴忓垪錛屽叾瀵瑰簲鐨勪綅緗氨鏄渶闀垮尮閰嶅瓙涓茬殑浣嶇疆銆?nbsp; 涓嬮潰鏄瓧絎︿覆babhbxbhhaahbz鍜屽瓧絎︿覆hababhbbhzzx鐨勫尮閰嶇煩闃碉紝鍓嶈呬負X鏂瑰悜鐨勶紝鍚庤呬負Y鏂瑰悜鐨勩備笉闅炬壘鍒幫紝綰㈣壊閮ㄥ垎鏄渶闀跨殑鍖歸厤瀛愪覆銆傞氳繃鏌ユ壘浣嶇疆鎴戜滑寰楀埌鏈闀跨殑鍖歸厤瀛愪覆涓猴細babhb 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 浣嗘槸鍦?鍜?鐨勭煩闃典腑鎵炬渶闀跨殑1瀵硅綰垮簭鍒楀張瑕佽姳鍘諱竴瀹氱殑鏃墮棿銆?br />閫氳繃鏀硅繘鐭╅樀鐨勭敓鎴愭柟寮忓拰璁劇疆鏍囪鍙橀噺錛屽彲浠ョ渷鍘昏繖閮ㄥ垎鏃墮棿銆?br />涓嬮潰鏄柊鐨勭煩闃電敓鎴愭柟寮忥細 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 2 1 0 0 0 0 1 0 2 0 1 0 1 0 0 0 0 0 1 0 0 0 2 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 3 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 4 0 0 0 2 1 0 0 1 0 0 0 1 0 1 0 5 0 1 0 0 0 0 0 2 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 2 0 0 0 2 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 涓嶇敤澶氳錛屼綘澶ф宸茬粡鐪嬪嚭鏉ヤ簡銆傚綋瀛楃鍖歸厤鐨勬椂鍊欙紝鎴戜滑騫朵笉鏄畝鍗曠殑緇欑浉搴斿厓绱犺祴涓?錛岃屾槸璧嬩笂鍏跺乏涓婅鍏冪礌鐨勫煎姞涓銆傛垜浠敤涓や釜鏍囪鍙橀噺鏉ユ爣璁扮煩闃典腑鍊兼渶澶х殑鍏冪礌鐨勪綅緗紝鍦ㄧ煩闃電敓鎴愮殑榪囩▼涓潵鍒ゆ柇褰撳墠鐢熸垚鐨勫厓绱犵殑鍊兼槸涓嶆槸鏈澶х殑錛屾嵁姝ゆ潵鏀瑰彉鏍囪鍙橀噺鐨勫鹼紝閭d箞鍒扮煩闃靛畬鎴愮殑鏃跺欙紝鏈闀垮尮閰嶅瓙涓茬殑浣嶇疆鍜岄暱搴﹀氨宸茬粡鍑烘潵浜嗐?nbsp; 榪欐牱鍋氶熷害姣旇緝蹇紝浣嗘槸鑺辯殑絀洪棿澶銆?nbsp;*/ char * lcs( char * str1, char * str2, int * p_length) { int i,j,m,n,length,x,y; m = strlen(str1) + 1 ; n = strlen(str2) + 1 ; int ** matrix = new int * [m]; for (i = 0 ; i < m; i ++ ) matrix[i] = new int [n]; for (i = 0 ; i < m; i ++ ) matrix[i][ 0 ] = 0 ; // 絎?鍒楅兘鍒濆鍖栦負0 for (j = 0 ; j < n; j ++ ) matrix[ 0 ][j] = 0 ; // 絎?琛岄兘鍒濆鍖栦負0 length = - 1 ; * p_length = - 1 ; for (i = 1 ; i < m ; i ++ ) { for (j = 1 ; j < n; j ++ ) { if (str1[i - 1 ] == str2[j - 1 ]) { // 鍙渶瑕佽窡宸︿笂鏂圭殑matrix[i-1][j-1]姣旇緝灝卞彲浠ヤ簡 matrix[i][j] = matrix[i - 1 ][j - 1 ] + 1 ; } else { // 涓嶈繛緇殑鏃跺欒繕瑕佽窡宸﹁竟鐨刴atrix[i][j-1]銆佷笂杈圭殑matrix[i-1][j]鍊兼瘮杈冿紝榪欓噷涓嶉渶瑕?nbsp; matrix[i][j] = 0 ; } if (matrix[i][j] > length) { length = matrix[i][j]; x = i; y = j; } } } for (i = 0 ; i < m; i ++ ) delete[] matrix[i]; delete[] matrix; if (length > 0 ) { * p_length = length; return & str1[x - length]; } return NULL; } int main( void ) { char str1[ 1000 ],str2[ 1000 ],str3[ 1000 ]; int length; printf( " 璇瘋緭鍏ョ涓涓瓧絎︿覆錛?/span>" ); gets(str1); printf( " 璇瘋緭鍏ョ浜屼釜瀛楃涓詫細 " ); gets(str2); char * pszText = lcs(str1, str2, & length); printf( " 鏈闀垮叕鍏辮繛緇瓙涓茬殑闀垮害涓猴細%d\n " ,length); if (pszText != NULL) { strncpy(str3,pszText,length); str3[length] = 0 ; printf( " 鏈闀垮叕鍏辮繛緇瓙涓詫細%s\n " ,str3); } system( " pause " ); return 0 ; } ]]> CRC16綆楁硶 http://www.shnenglu.com/aaxron/archive/2012/08/17/187451.html澶╀笅 澶╀笅 Fri, 17 Aug 2012 01:36:00 GMT http://www.shnenglu.com/aaxron/archive/2012/08/17/187451.html http://www.shnenglu.com/aaxron/comments/187451.html http://www.shnenglu.com/aaxron/archive/2012/08/17/187451.html#Feedback 0 http://www.shnenglu.com/aaxron/comments/commentRss/187451.html http://www.shnenglu.com/aaxron/services/trackbacks/187451.html #include " stdafx.h "
unsigned int GetCrc32( char * pdata,unsigned int len){
// 鐢熸垚Crc32鐨勬煡璇㈣〃
unsigned int Crc32Table[ 256 ];
int i,j;
unsigned int Crc;
for (i = 0 ; i < 256 ; i ++ ){
Crc = i;
for (j = 0 ; j < 8 ; j ++ ){
if (Crc & 1 )
Crc = (Crc >> 1 ) ^ 0xEDB88320 ;
else
Crc >>= 1 ;
}
Crc32Table[i] = Crc;
}
// 寮濮嬭綆桟RC32鏍¢獙鍊?/span>
Crc = 0xffffffff ;
for ( int i = 0 ; i < len; i ++ )
{
Crc = (Crc >> 8 ) ^ Crc32Table[(Crc & 0xFF ) ^ pdata[i]];
}
Crc ^= 0xFFFFFFFF ;
return Crc;
}
static const unsigned short Crc16Table[ 256 ] =
{
0x0000 , 0xC0C1 , 0xC181 , 0x0140 , 0xC301 , 0x03C0 , 0x0280 , 0xC241 ,
0xC601 , 0x06C0 , 0x0780 , 0xC741 , 0x0500 , 0xC5C1 , 0xC481 , 0x0440 ,
0xCC01 , 0x0CC0 , 0x0D80 , 0xCD41 , 0x0F00 , 0xCFC1 , 0xCE81 , 0x0E40 ,
0x0A00 , 0xCAC1 , 0xCB81 , 0x0B40 , 0xC901 , 0x09C0 , 0x0880 , 0xC841 ,
0xD801 , 0x18C0 , 0x1980 , 0xD941 , 0x1B00 , 0xDBC1 , 0xDA81 , 0x1A40 ,
0x1E00 , 0xDEC1 , 0xDF81 , 0x1F40 , 0xDD01 , 0x1DC0 , 0x1C80 , 0xDC41 ,
0x1400 , 0xD4C1 , 0xD581 , 0x1540 , 0xD701 , 0x17C0 , 0x1680 , 0xD641 ,
0xD201 , 0x12C0 , 0x1380 , 0xD341 , 0x1100 , 0xD1C1 , 0xD081 , 0x1040 ,
0xF001 , 0x30C0 , 0x3180 , 0xF141 , 0x3300 , 0xF3C1 , 0xF281 , 0x3240 ,
0x3600 , 0xF6C1 , 0xF781 , 0x3740 , 0xF501 , 0x35C0 , 0x3480 , 0xF441 ,
0x3C00 , 0xFCC1 , 0xFD81 , 0x3D40 , 0xFF01 , 0x3FC0 , 0x3E80 , 0xFE41 ,
0xFA01 , 0x3AC0 , 0x3B80 , 0xFB41 , 0x3900 , 0xF9C1 , 0xF881 , 0x3840 ,
0x2800 , 0xE8C1 , 0xE981 , 0x2940 , 0xEB01 , 0x2BC0 , 0x2A80 , 0xEA41 ,
0xEE01 , 0x2EC0 , 0x2F80 , 0xEF41 , 0x2D00 , 0xEDC1 , 0xEC81 , 0x2C40 ,
0xE401 , 0x24C0 , 0x2580 , 0xE541 , 0x2700 , 0xE7C1 , 0xE681 , 0x2640 ,
0x2200 , 0xE2C1 , 0xE381 , 0x2340 , 0xE101 , 0x21C0 , 0x2080 , 0xE041 ,
0xA001 , 0x60C0 , 0x6180 , 0xA141 , 0x6300 , 0xA3C1 , 0xA281 , 0x6240 ,
0x6600 , 0xA6C1 , 0xA781 , 0x6740 , 0xA501 , 0x65C0 , 0x6480 , 0xA441 ,
0x6C00 , 0xACC1 , 0xAD81 , 0x6D40 , 0xAF01 , 0x6FC0 , 0x6E80 , 0xAE41 ,
0xAA01 , 0x6AC0 , 0x6B80 , 0xAB41 , 0x6900 , 0xA9C1 , 0xA881 , 0x6840 ,
0x7800 , 0xB8C1 , 0xB981 , 0x7940 , 0xBB01 , 0x7BC0 , 0x7A80 , 0xBA41 ,
0xBE01 , 0x7EC0 , 0x7F80 , 0xBF41 , 0x7D00 , 0xBDC1 , 0xBC81 , 0x7C40 ,
0xB401 , 0x74C0 , 0x7580 , 0xB541 , 0x7700 , 0xB7C1 , 0xB681 , 0x7640 ,
0x7200 , 0xB2C1 , 0xB381 , 0x7340 , 0xB101 , 0x71C0 , 0x7080 , 0xB041 ,
0x5000 , 0x90C1 , 0x9181 , 0x5140 , 0x9301 , 0x53C0 , 0x5280 , 0x9241 ,
0x9601 , 0x56C0 , 0x5780 , 0x9741 , 0x5500 , 0x95C1 , 0x9481 , 0x5440 ,
0x9C01 , 0x5CC0 , 0x5D80 , 0x9D41 , 0x5F00 , 0x9FC1 , 0x9E81 , 0x5E40 ,
0x5A00 , 0x9AC1 , 0x9B81 , 0x5B40 , 0x9901 , 0x59C0 , 0x5880 , 0x9841 ,
0x8801 , 0x48C0 , 0x4980 , 0x8941 , 0x4B00 , 0x8BC1 , 0x8A81 , 0x4A40 ,
0x4E00 , 0x8EC1 , 0x8F81 , 0x4F40 , 0x8D01 , 0x4DC0 , 0x4C80 , 0x8C41 ,
0x4400 , 0x84C1 , 0x8581 , 0x4540 , 0x8701 , 0x47C0 , 0x4680 , 0x8641 ,
0x8201 , 0x42C0 , 0x4380 , 0x8341 , 0x4100 , 0x81C1 , 0x8081 , 0x4040
};
// 鐢熸垚Crc16鐨勬煡璇㈣〃
void GetCrc16Table()
{
unsigned short crc16tbl[ 256 ];
unsigned int i,j;
unsigned short Crc;
printf( " unsigned short Crc16Table[256] = \r\n{\r\n " );
for (i = 0 ; i < 256 ; i ++ ) {
Crc = i;
for (j = 0 ; j < 8 ; j ++ ) {
if (Crc & 0x1 )
Crc = (Crc >> 1 ) ^ 0xA001 ;
else
Crc >>= 1 ;
}
printf( " 0x%04X, " ,Crc);
if ((i + 1 ) % 8 == 0 )
{
printf( " \r\n " );
}
crc16tbl[i] = Crc;
}
printf( " };\r\n " );
}
unsigned short GetCrc16( char * pdata,unsigned int len)
{
// 寮濮嬭綆桟RC16鏍¢獙鍊?/span>
unsigned short crc16 = 0x0000 ;
for ( int i = 0 ; i < len; i ++ ){
crc16 = (crc16 >> 8 ) ^ Crc16Table[(crc16 & 0xFF ) ^ pdata[i]];
}
// Crc ^= 0x0000;
return crc16;
}
unsigned short GetCrc16(unsigned short poly, char * pdata,unsigned int len)
{
unsigned short crc16;
// 寮濮嬭綆桟RC16鏍¢獙鍊?/span>
crc16 = poly;
for ( int i = 0 ; i < len; i ++ ){
crc16 = (crc16 >> 8 ) ^ Crc16Table[(crc16 & 0xFF ) ^ pdata[i]];
}
// Crc ^= 0x0000;
return crc16;
}
// test code #include " stdafx.h " int main( int argc, char * argv[] ) { char str[] = " iawene " ; unsigned short crc1 = 0 ; unsigned short crc2 = 0 ; GetCrc16Table(); puts( " \r\n\r\n\r\n------------------------------------------- " ); crc1 = GetCrc16(str, 5 ); // 0x5359 printf( " <1>0x%04X\n " ,crc1); for ( int i = 0 ;i < 5 ;i ++ ) { crc2 = GetCrc16(crc2, & str[i], 1 ); } printf( " <2>0x%04X\n " ,crc2); return 0 ; }
]]> CRC32綆楁硶錛堟煡琛ㄦ硶錛変唬鐮?/title> http://www.shnenglu.com/aaxron/archive/2012/04/18/171890.html澶╀笅 澶╀笅 Wed, 18 Apr 2012 10:02:00 GMT http://www.shnenglu.com/aaxron/archive/2012/04/18/171890.html http://www.shnenglu.com/aaxron/comments/171890.html http://www.shnenglu.com/aaxron/archive/2012/04/18/171890.html#Feedback 0 http://www.shnenglu.com/aaxron/comments/commentRss/171890.html http://www.shnenglu.com/aaxron/services/trackbacks/171890.html
#include < windows.h > #include < stdio.h > void PrintCrcTable() { // Poly = 0xedb88320 WinRAR Poly DWORD Val; for (DWORD i = 0 ; i < 256 ; i ++ ) { Val = i; for (DWORD k = 0 ; k < 8 ; k ++ ) { if (Val & 1 ) Val = 0xedb88320L ^ (Val >> 1 ); else Val = Val >> 1 ; } printf ( " 0x%08x, " , Val); if ( 0 == ((i + 1 ) % 6 )) printf ( " \n " ); } } const DWORD Crc32Table[] = { 0x00000000 , 0x77073096 , 0xee0e612c , 0x990951ba , 0x076dc419 , 0x706af48f , 0xe963a535 , 0x9e6495a3 , 0x0edb8832 , 0x79dcb8a4 , 0xe0d5e91e , 0x97d2d988 , 0x09b64c2b , 0x7eb17cbd , 0xe7b82d07 , 0x90bf1d91 , 0x1db71064 , 0x6ab020f2 , 0xf3b97148 , 0x84be41de , 0x1adad47d , 0x6ddde4eb , 0xf4d4b551 , 0x83d385c7 , 0x136c9856 , 0x646ba8c0 , 0xfd62f97a , 0x8a65c9ec , 0x14015c4f , 0x63066cd9 , 0xfa0f3d63 , 0x8d080df5 , 0x3b6e20c8 , 0x4c69105e , 0xd56041e4 , 0xa2677172 , 0x3c03e4d1 , 0x4b04d447 , 0xd20d85fd , 0xa50ab56b , 0x35b5a8fa , 0x42b2986c , 0xdbbbc9d6 , 0xacbcf940 , 0x32d86ce3 , 0x45df5c75 , 0xdcd60dcf , 0xabd13d59 , 0x26d930ac , 0x51de003a , 0xc8d75180 , 0xbfd06116 , 0x21b4f4b5 , 0x56b3c423 , 0xcfba9599 , 0xb8bda50f , 0x2802b89e , 0x5f058808 , 0xc60cd9b2 , 0xb10be924 , 0x2f6f7c87 , 0x58684c11 , 0xc1611dab , 0xb6662d3d , 0x76dc4190 , 0x01db7106 , 0x98d220bc , 0xefd5102a , 0x71b18589 , 0x06b6b51f , 0x9fbfe4a5 , 0xe8b8d433 , 0x7807c9a2 , 0x0f00f934 , 0x9609a88e , 0xe10e9818 , 0x7f6a0dbb , 0x086d3d2d , 0x91646c97 , 0xe6635c01 , 0x6b6b51f4 , 0x1c6c6162 , 0x856530d8 , 0xf262004e , 0x6c0695ed , 0x1b01a57b , 0x8208f4c1 , 0xf50fc457 , 0x65b0d9c6 , 0x12b7e950 , 0x8bbeb8ea , 0xfcb9887c , 0x62dd1ddf , 0x15da2d49 , 0x8cd37cf3 , 0xfbd44c65 , 0x4db26158 , 0x3ab551ce , 0xa3bc0074 , 0xd4bb30e2 , 0x4adfa541 , 0x3dd895d7 , 0xa4d1c46d , 0xd3d6f4fb , 0x4369e96a , 0x346ed9fc , 0xad678846 , 0xda60b8d0 , 0x44042d73 , 0x33031de5 , 0xaa0a4c5f , 0xdd0d7cc9 , 0x5005713c , 0x270241aa , 0xbe0b1010 , 0xc90c2086 , 0x5768b525 , 0x206f85b3 , 0xb966d409 , 0xce61e49f , 0x5edef90e , 0x29d9c998 , 0xb0d09822 , 0xc7d7a8b4 , 0x59b33d17 , 0x2eb40d81 , 0xb7bd5c3b , 0xc0ba6cad , 0xedb88320 , 0x9abfb3b6 , 0x03b6e20c , 0x74b1d29a , 0xead54739 , 0x9dd277af , 0x04db2615 , 0x73dc1683 , 0xe3630b12 , 0x94643b84 , 0x0d6d6a3e , 0x7a6a5aa8 , 0xe40ecf0b , 0x9309ff9d , 0x0a00ae27 , 0x7d079eb1 , 0xf00f9344 , 0x8708a3d2 , 0x1e01f268 , 0x6906c2fe , 0xf762575d , 0x806567cb , 0x196c3671 , 0x6e6b06e7 , 0xfed41b76 , 0x89d32be0 , 0x10da7a5a , 0x67dd4acc , 0xf9b9df6f , 0x8ebeeff9 , 0x17b7be43 , 0x60b08ed5 , 0xd6d6a3e8 , 0xa1d1937e , 0x38d8c2c4 , 0x4fdff252 , 0xd1bb67f1 , 0xa6bc5767 , 0x3fb506dd , 0x48b2364b , 0xd80d2bda , 0xaf0a1b4c , 0x36034af6 , 0x41047a60 , 0xdf60efc3 , 0xa867df55 , 0x316e8eef , 0x4669be79 , 0xcb61b38c , 0xbc66831a , 0x256fd2a0 , 0x5268e236 , 0xcc0c7795 , 0xbb0b4703 , 0x220216b9 , 0x5505262f , 0xc5ba3bbe , 0xb2bd0b28 , 0x2bb45a92 , 0x5cb36a04 , 0xc2d7ffa7 , 0xb5d0cf31 , 0x2cd99e8b , 0x5bdeae1d , 0x9b64c2b0 , 0xec63f226 , 0x756aa39c , 0x026d930a , 0x9c0906a9 , 0xeb0e363f , 0x72076785 , 0x05005713 , 0x95bf4a82 , 0xe2b87a14 , 0x7bb12bae , 0x0cb61b38 , 0x92d28e9b , 0xe5d5be0d , 0x7cdcefb7 , 0x0bdbdf21 , 0x86d3d2d4 , 0xf1d4e242 , 0x68ddb3f8 , 0x1fda836e , 0x81be16cd , 0xf6b9265b , 0x6fb077e1 , 0x18b74777 , 0x88085ae6 , 0xff0f6a70 , 0x66063bca , 0x11010b5c , 0x8f659eff , 0xf862ae69 , 0x616bffd3 , 0x166ccf45 , 0xa00ae278 , 0xd70dd2ee , 0x4e048354 , 0x3903b3c2 , 0xa7672661 , 0xd06016f7 , 0x4969474d , 0x3e6e77db , 0xaed16a4a , 0xd9d65adc , 0x40df0b66 , 0x37d83bf0 , 0xa9bcae53 , 0xdebb9ec5 , 0x47b2cf7f , 0x30b5ffe9 , 0xbdbdf21c , 0xcabac28a , 0x53b39330 , 0x24b4a3a6 , 0xbad03605 , 0xcdd70693 , 0x54de5729 , 0x23d967bf , 0xb3667a2e , 0xc4614ab8 , 0x5d681b02 , 0x2a6f2b94 , 0xb40bbe37 , 0xc30c8ea1 , 0x5a05df1b , 0x2d02ef8d }; DWORD GenerateCrc32(DWORD PartialCrc,PUCHAR Buffer,DWORD Length) { DWORD crc; DWORD i; // Generate the CRC32 checksum. crc = PartialCrc ^ 0xffffffffL ; for (i = 0 ; i < Length; i ++ ) { crc = Crc32Table[(crc ^ Buffer[i]) & 0xff ] ^ (crc >> 8 ); } return (crc ^ 0xffffffffL ); } // 嫻嬭瘯紼嬪簭 int main( int argc, char * argv[]) { char * szFileName = NULL; if (argc < 2 ) { printf( " Usage:%s <filename> \r\n " ,argv[ 0 ]); return - 1 ; } szFileName = argv[ 1 ]; FILE * fp = fopen(szFileName, " rb " ); if (NULL == fp) { printf( " Open %s error:%d \r\n " ,szFileName); return 0 ; } DWORD crc32 = 0 ; BYTE c = 0 ; while ( 1 == fread( & c, 1 , 1 ,fp)) crc32 = GenerateCrc32(crc32, & c, 1 ); fclose(fp); printf( " CRC32 = 0x%08X " , crc32); return 0 ; }
]]>
伊人久久大香线焦综合四虎 |
久久久久这里只有精品 |
久久久久高潮综合影院 |
亚洲国产成人精品女人久久久 |
久久精品一区二区 |
精品一区二区久久 |
91久久精品国产91性色也 |
久久99国产精一区二区三区 |
1000部精品久久久久久久久 |
99精品久久精品 |
久久99精品久久久久久hb无码
|
一本一本久久aa综合精品 |
伊人久久大香线蕉综合5g |
一级女性全黄久久生活片免费 |
日日狠狠久久偷偷色综合0 |
亚洲国产成人精品久久久国产成人一区二区三区综
|
久久93精品国产91久久综合 |
成人亚洲欧美久久久久 |
精品无码久久久久久久久久 |
久久久中文字幕日本 |
美女久久久久久 |
亚洲伊人久久综合影院 |
久久精品国产亚洲av麻豆图片
|
久久午夜伦鲁片免费无码 |
久久国产精品成人片免费 |
久久精品国产精品青草 |
久久精品国产只有精品66
|
婷婷国产天堂久久综合五月 |
伊人久久综合精品无码AV专区 |
亚洲精品乱码久久久久久蜜桃图片
|
日韩十八禁一区二区久久 |
2019久久久高清456 |
久久精品人成免费 |
激情久久久久久久久久 |
99久久国产亚洲综合精品 |
久久久噜噜噜久久熟女AA片 |
国产精品亚洲综合专区片高清久久久
|
久久久一本精品99久久精品88 |
久久午夜电影网 |
一级做a爰片久久毛片看看 |
粉嫩小泬无遮挡久久久久久
|