/* debruijn.c graph.h, digraph.h を同じディレクトリに download して用いよ コンパイル命令と実行命令: gcc debruijn.c -o debruijn ./debruijn K. Shiota 2005.6.13 */ #define MAXORDER 256 #include "graph.h" #include "digraph.h" void m_adic(int a0, int m, int n) { int x[16],i,a=a0; for(i=0;i=0;i--) printf("%d",x[i]); } main() { Graph g; // int m=5, n=3; // 5シンボルの3文字単語の場合 int m=3, n=3; // m^(n-1) <= MAXORDER の範囲で使用のこと int l,ec[1024],i,j,ord,overlap; ord=1; for(i=0;i "); m_adic(ec[i],m,n-1); } printf("\n\n"); printf("De Bruijn sequence : \n"); m_adic(ec[0],m,n-1); for(i=1;i<=l;i++) printf("%d",ec[i]%m); printf("\n"); }