5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

C言語でロト6予想プログラム作成

1 :名無しさん@夢いっぱい:2006/09/18(月) 02:13:24 ID:e8VRFwBo
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int GetRandom(int min,int max);

int main(void)
{
int i;

srand((unsigned int)time(NULL));

for (i = 0;i < 100;i++) {
printf("%03d\n",GetRandom(0,999));
}

return 0;
}

int GetRandom(int min,int max)
{
return min + (int)(rand()*(max-min+1.0)/(1.0+RAND_MAX));
}

これを実行するとナンバーズ3100回試行
ロト6はむずい・・・

31 :名無しさん@夢いっぱい:2006/09/27(水) 05:49:58 ID:Nae49S6a
//入力ルーチン
InputData=$.split(" ");

//出力ルーチン
function TableStart(){$+="<table cellspacing=0 cellpadding=3 bgcolor=ffffff bordercolor=black border=1><tbody align=right >";}
function TableText($X,$Y){$+="<tr><td width=50><font size=4><b>"+$X+"</td><td width=250 ><font size=4><b>"+$Y+"</td></tr>";}
function TableEnd(){$+="</table>";} $="";

//表作成ルーチン
TableStart();for ( X=0 ; 1000>=X ; X++ ) { TableText ( X , InputData[ X ].substr( 0 , 20 ) ) ; } TableEnd();

32 :名無しさん@夢いっぱい:2006/09/27(水) 21:40:56 ID:xtBFJyTf
k

33 :名無しさん@夢いっぱい:2006/09/28(木) 21:59:51 ID:551ukRGB
310回結果 03 04 05 18 28 37 (26)

【実行例】ロト6
D:\bcc>mtntor 43 6 125530 125530
03 04 05 18 22 37

D:\bcc>

5個一致('A`)

34 :名無しさん@夢いっぱい:2006/10/06(金) 00:39:38 ID:l9DhKfPh
311回 01 16 22 36 37 42 (34)
D:\bcc>mtntor 43 6 29954 29954
01 04 16 36 37 42

D:\bcc>

35 :名無しさん@夢いっぱい:2006/10/06(金) 00:48:22 ID:jD0Bghnk
えっ?2等?

36 :名無しさん@夢いっぱい:2006/10/06(金) 19:04:25 ID:hjMcbuZj
>>35
3等だよ…でも結果後の晒しじゃ…。

37 :名無しさん@夢いっぱい:2006/10/13(金) 00:45:52 ID:vmFe0pu4
312回結果 02 17 22 29 38 42 (16)

$ mtntor 43 6 14066 14066
17 22 28 29 38 42

('A`)

38 :名無しさん@夢いっぱい:2006/10/13(金) 01:53:19 ID:E+fDH+dI
結果前にださないの?

39 :名無しさん@夢いっぱい:2006/10/13(金) 02:11:12 ID:mUmDoIyo
20万行(四千万円)までで1等も2等もでていない。3等なら7とおりでた。
第312回 5個一致で3等
17 22 28 29 38 42
01 02 22 29 38 42
02 05 17 29 38 42
01 02 17 22 29 42
02 17 22 38 41 42
02 22 29 38 39 42
02 17 22 29 30 42

40 :名無しさん@夢いっぱい:2006/10/13(金) 18:40:55 ID:/2DZh7EY
>>38
結果前だと
ピンポイントで14066桁目や29954桁目が3等と一致する
なんて解らないだろ。所詮は結果論。

41 :名無しさん@夢いっぱい:2006/10/13(金) 19:17:36 ID:E+fDH+dI
>>40
確かにわからない…。
だいたいが使い方さえ理解できてないし。
でこれってもう完成したの?

42 :名無しさん@夢いっぱい:2006/10/13(金) 19:24:20 ID:JPUT5hMD
>>41
ソースが公開されているのに文句いうな

43 :名無しさん@夢いっぱい:2006/10/17(火) 22:29:56 ID:a0TcuvCU
何故に今更、構造化言語? オブジェクト指向でいこうよ


44 :石豆 ◆urzs4gq/xc :2006/10/17(火) 22:35:01 ID:8QUqaNke
ではスレを建てるといい。

45 :名無しさん@夢いっぱい:2006/10/17(火) 22:52:40 ID:a0TcuvCU
やだ、94.28%の確立で五等が当たるプログラムが完成していますので晒さないと
スレ立てた意味が無くなるから。

46 :名無しさん@夢いっぱい:2006/10/18(水) 00:28:31 ID:JkIHbhGs
>>45
>>45

47 :名無しさん@夢いっぱい:2006/10/18(水) 08:13:59 ID:8L+Qx3ld
確率を確立と書く確率94.28%!

48 :鬱万長者 ◆M.UTUMAN.A :2006/10/28(土) 18:27:44 ID:LrSgGQJV
♪強そうに 生きてゆ〜くよりも〜

49 :名無しさん@夢いっぱい:2006/10/30(月) 00:36:07 ID:QSE085ma
loto6 100口、ダブりあり、gawk

BEGIN{
srand()

for(j=0;j<100;j++){
for(i=0;i<43;i++)
a[i]=0

for(i=0;i<6;i++){
do {
x = int(rand()*43)
} while( a[x] == 1 )
a[x]=1
}

for(i=0;i<43;i++)
if( a[i]==1 )
printf "%02d ", i+1
print ""
}
}

予想なんて不可能なんだから、適当に乱数でいいよ

50 :名無しさん@夢いっぱい:2006/10/30(月) 14:21:54 ID:4lcElYS1
main() {
if( money > 50000 ) {
}


51 :名無しさん@夢いっぱい:2006/11/01(水) 10:47:42 ID:gbRaXuAo
適当な乱数ならQPと同じじゃないか?

52 :名無しさん@夢いっぱい:2006/11/03(金) 10:49:20 ID:xEnCYmOo
>>51
クイックピックが乱数であるとは、どこにもかかれていない

53 :名無しさん@夢いっぱい:2006/11/03(金) 10:55:02 ID:xEnCYmOo
315回 01 02 17 24 40 41 (31)

I:\bcc>mtntor 43 6 2508 2508
01 02 17 24 41 43

I:\bcc>

二十万口(四千万円)で3等が6口でた
01 02 17 24 41 43
01 02 06 17 24 40
01 02 06 24 40 41
01 17 24 33 40 41
01 02 20 24 40 41
01 02 03 17 40 41

54 :名無しさん@夢いっぱい:2006/11/12(日) 22:27:31 ID:ttRZdojW
#include <stdio.h> /* >>49 メルセンヌ・ツイスタ版 */
#include <stdlib.h> /* 【ファイル名】loto6.c */
#include <time.h> /* 【コンパイル】bcc32 loto6.c mt19937ar.c */
#include <math.h> /* gcc -o loto6 loto6.c mt19937ar.c */
#include "mt19937ar.h"
int main(void) {
 int a[43];
 int j, i, x;
/* メルセンヌ・ツイスタの設定 */
 unsigned long init[4] = {0x123, 0x234, 0x345, 0x456}, length = 4;
 init[0] = (unsigned long)time(NULL);
 init_by_array(init, length);/* メルセンヌ・ツイスタの初期化 */
 for(j = 0; j < 100; j++){
  for(i = 0; i < 43; i++)
   a[i] = 0;/* 印が無い */
/* 6個の印をつける */
  for(i = 0; i < 6; i++){
   do { /* 区間[0,43)にある値をメルセンヌ・ツイスタにより決定する */
    x = (int)floor(genrand_real2()*43.);/* xは整数(0 ≦ x ≦ 42) */
   } while( a[x] == 1 );/* すでに印があるため、やりなおす */
   a[x] = 1;/* 印が無ければ印をつける */
  }
  for(i = 0; i < 43; i++) /* 出力は昇順になる */
   if( a[i] == 1 ) /* a[0]は01、a[1]は02、a[42]は43に対応している */
    printf("%02d ", i + 1);

  printf("\n");/* 改行した */
 }
 return EXIT_SUCCESS;
}

55 :名無しさん@夢いっぱい:2006/11/12(日) 22:34:18 ID:ttRZdojW
【実行例】出力をリダイレクトするには
D:\bcc>loto6 > loto6.txt

D:\bcc>

loto6.txtのファイルをエディタでみる

56 :名無しさん@夢いっぱい:2006/11/12(日) 22:39:49 ID:ttRZdojW
>>49さん、おもしろいアルゴリズムをおしえてくださってありがとうございます

57 :名無しさん@夢いっぱい:2006/11/13(月) 10:22:35 ID:fma5AE7U
夢ロトくんは攪拌してからボールの列を形成して6個摘出するが、
以下のプログラム(mtNtoR Version 1.2)では攪拌しないで
列からメルセンヌ・ツイスタにより6個摘出する。

設定ファイルにしたがってボールに重みを付与できる。
重みを均等にすれば旧バージョン>>14-21と同一の出力になる。

main()
1.設定ファイルからパラメータを取得する(pFile,iCount,iE,iShow,iRepeat,cBall[][],dWeight[])
2.必要に応じてログファイルを追加モードでオープンする(pFile)
3.iCount個のボールをノードとするリストを形成する(数字はcBall[][]、重みはdWeight[])
4.iE個のボールを摘出して、表示開始行以降ならば表示する(iShow)
5.残りのボールを破棄する。
6.工程3、工程4、工程5を反復する(iRepeat)

pLine()
1.iE個のボールを摘出して、配列にボールの数字を記憶する。
2.表示開始行以降ならば配列をソートする。
3.ソートされた配列要素からなる出力文字列を生成する。
4.1行表示する。
5.必要に応じてログファイルに追加する。

pPick()
1.ボールの重みの総和dを計算する。
2.区間[0,d)にある値をメルセンヌ・ツイスタにより決定する(dPick < d)
3.再びボールの重みを加算していきdPickを超えたときボールを決定する(p)
4.pのボールの数字を配列に記憶する。
5.pのボールを破棄してリストを短縮する。

ボールが重いほど出現しやすい。

58 :名無しさん@夢いっぱい:2006/11/13(月) 10:23:41 ID:fma5AE7U
#【ファイル名】mtNtoR.ini
0x123, 0x234, 0x345, 0x456, 4 # メルセンヌ・ツイスタの設定
Xto6 # 摘出するボールの個数は6
Log mtNtoR.txt # ログファイルを指定できるが必須ではない

  From 1001 # 表示を開始する行番号
Repeat 1020 # 反復する回数

01 14.09
02 14.09
03 14.09
04 14.09
05 14.09
06 14.09
07 14.09
08 14.09
09 14.09
10 14.09
11 14.09
12 14.09
13 14.09
14 14.09
15 14.09
16 14.09
17 14.09
18 14.09
19 14.09
20 14.09
21 14.09
22 14.09
23 14.09
24 14.09
25 14.09
26 14.09
27 14.09
28 14.09
29 14.09
30 14.09
31 14.09
32 14.09
33 14.09
34 14.09
35 14.09
36 14.09
37 14.09
38 14.09
39 14.09
40 14.09
41 14.09
42 14.09
43 14.09

59 :名無しさん@夢いっぱい:2006/11/13(月) 10:24:44 ID:fma5AE7U
/* 【ファイル名】mtNtoR.h
2006-11-13 Version 1.2
【コンパイル】bcc32 -emtNtoR mtNtoR.c pPick.c pLine.c pSetting.c pNew.c pShorten.c mt19937ar.c
gcc -o mtntor mtNtoR.c pPick.c pLine.c pSetting.c pNew.c pShorten.c mt19937ar.c
*/
#define EXTRACT 43/* EXTRACT ≦ BALL_COUNT */
#define BALL_COUNT 43
#define DIGITS 3
#define SKIP 1
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct sBall sBall;
struct sBall {
 char *pBall;
 double dWeight;
 sBall *pNext;
};

int iCompare(const void *p, const void *p2) {
 return strcmp((char *)p, (char *)p2);
}
extern FILE *pSetting(int, char *, int *, int *, int *, int *, char *, double *);
extern sBall *pNew(char *, double);
extern sBall *pAdd(sBall *, sBall *);
extern sBall *pLine(sBall *, int, int, int, FILE *);
extern void FreeAll(sBall *);

60 :名無しさん@夢いっぱい:2006/11/13(月) 10:25:36 ID:fma5AE7U
/* 【ファイル名】mtNtoR.c */
#include "mtNtoR.h"
int main(int argc, char *argv[]) {
 double dWeight[BALL_COUNT];
 char cBall[BALL_COUNT][DIGITS];
 FILE *pFile;
 sBall *pMin;
 sBall *p;
 int i, iCount, iE, iShow, iRepeat, iSkip, iLine;
/* 設定 */
 pFile = pSetting(argc, argv[1], &iCount, &iE, &iShow, &iRepeat, &cBall[0][0], &dWeight[0]);
/* 反復(リストを形成、ボールを摘出、ボールを破棄) */
 iSkip = SKIP;/* 表示しない */
 for(iLine = 1; iLine <= iRepeat; iLine++) {
  pMin = NULL;/* ボールが無い状態 */
  for(i = iCount - 1; i >= 0; i--) {/* 末尾のボールから順に生成、連結する */
   p = pNew(&cBall[i][0], dWeight[i]);/* ボールを生成した */
   pMin = pAdd(pMin, p);/* ボールを連結した */
  }
  if(iLine >= iShow)
   iSkip = 0;/* 表示する */

  pMin = pLine(pMin, iCount, iE, iSkip, pFile);/* iCount個からiE個を摘出した */
  FreeAll(pMin);/* 残りのボールを破棄した */
 }
 if(pFile != NULL)
  fclose(pFile);

 return EXIT_SUCCESS;
}

61 :名無しさん@夢いっぱい:2006/11/13(月) 10:26:34 ID:fma5AE7U
/* 【ファイル名】pPick.h */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "mt19937ar.h"

typedef struct sBall sBall;
struct sBall {
 char *pBall;
 double dWeight;
 sBall *pNext;
};

extern sBall *pShorten(sBall *, sBall *, sBall *);

62 :名無しさん@夢いっぱい:2006/11/13(月) 10:28:08 ID:fma5AE7U
#include "pPick.h" /* 【ファイル名】pPick.c */
sBall *pPick(sBall *pMin, int iCount, char *pPicked) {
 double d, dPick;
 sBall *p;
 sBall *pOld;
 if(iCount <= 0) {
  fprintf(stderr, "pPick(): iCount <= 0\n");
  exit(EXIT_FAILURE);
 }
 d = 0.;
 p = pMin;/* 現在の先頭のボール */
 do {/* dWeightを加算していき、dWeightの総和を計算する */
  d = d + p->dWeight;
  p = p->pNext;
 } while(p != NULL);
 dPick = d * genrand_real2();/* 区間[0,d)にある値をメルセンヌ・ツイスタにより決定した */
 d = 0.;
 p = pMin;/* 現在の先頭のボール */
 pOld = NULL;/* 先頭のボールより前方にはボールが存在しない */
 for(;;) {/* 再度、dWeightを加算していく */
  d = d + p->dWeight;
  if(d > dPick)
   break;/* メルセンヌ・ツイスタによる値を超えたためボールを決定した(pを摘出) */

  pOld = p;
  p = p->pNext;
 }
 strcpy(pPicked, p->pBall);/* pのボールの値(文字列)を配列に記憶した */
 return pShorten(pMin, pOld, p);/* pのボールを破棄した */
}

63 :名無しさん@夢いっぱい:2006/11/13(月) 10:29:38 ID:fma5AE7U
/* 【ファイル名】pLine.h */
#define OUTPUT 130
#define EXTRACT 43/* EXTRACT ≦ BALL_COUNT */
#define BALL_COUNT 43
#define DIGITS 3
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct sBall sBall;
struct sBall {
 char *pBall;
 double dWeight;
 sBall *pNext;
};

extern sBall *pPick(sBall *, int, char *);
extern int iCompare(const void *, const void *);

64 :名無しさん@夢いっぱい:2006/11/13(月) 10:30:43 ID:fma5AE7U
/* 【ファイル名】pLine.c */
#include "pLine.h"
sBall *pLine(sBall *pMin, int iCount, int iE, int iSkip, FILE *pFile) {
 char *pC;
 char cOut[OUTPUT];
 char c[EXTRACT][DIGITS];
 int i;
/* 反復(注2) */
 for (i = 0; i < iE; i++) {
  pMin = pPick(pMin, iCount, &c[i][0]);
  iCount--;/* 摘出したためボールの総数が減少した */
 }

 if(iSkip == 0) {
/* 表示する */
  qsort(&c[0][0], iE, DIGITS, iCompare);/* 配列をソートした */
  cOut[0]='\0';/* 出力文字列の長さを零にした */
  pC=&cOut[0];
  for(i = 0; i < iE; i++) {
   strcat(pC, " ");
   strcat(pC, &c[i][0]);/* 出力文字列に配列要素の文字列を追加した */
  }

  strcat(pC, "\n");/* 出力文字列に改行文字を追加した */
  fputs(pC, stdout);/* 1行表示した */
  if(pFile != NULL)
   fputs(pC, pFile);/* ログファイルに1行追加した */
 }
 return pMin;
}

65 :名無しさん@夢いっぱい:2006/11/13(月) 10:31:54 ID:fma5AE7U
/* 【ファイル名】pSetting.h */
#define USAGE "mtNtoR mtNtoR.ini\n"
#define LOG "Log"
#define REPEAT "Repeat"
#define FROM "From"
#define XTO "Xto" /* Xto6 */
#define SETTING 80
#define FILE_NAME 80
#define LINES 70
#define BALL_COUNT 43
#define DIGITS 3
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include "mt19937ar.h"

66 :名無しさん@夢いっぱい:2006/11/13(月) 10:36:12 ID:fma5AE7U
#include "pSetting.h" /* 【ファイル名】pSetting.c */
FILE *pSetting(int iArg, char *pArg, int *pCount, int *pE, int *pShow, int *pRepeat, char *pBall, double *pWeight) {
 char cFile[FILE_NAME], c[SETTING];
 char *pC;
 char *pStop;
 FILE *pFile;
 int i, iLine, iS;
 unsigned long length, init[4];
 switch(iArg) {
 case 2:
  pFile = fopen(pArg, "rt");/* 設定ファイルをオープンした */
  if(pFile == NULL) {
   fprintf(stderr, "pSetting(): pFile == NULL (%s)\n", pArg);
   exit(EXIT_FAILURE);
  }
  break;
 default:
  fprintf(stderr, USAGE);
  exit(EXIT_FAILURE);
 }
 cFile[0]='\0';
 *pE = 0;
 *pShow = 1;
 *pRepeat = 0;
 i = 0;
 for(iLine = 0; iLine < LINES; iLine++) {
  pC = fgets(c, SETTING, pFile);
  if(pC == NULL)
   break;

  pC = strchr(c, '\n');
  if(pC == NULL) {
   fprintf(stderr, "pSetting(): pC == NULL\n");/* 改行文字が無かった */
   exit(EXIT_FAILURE);
  }
  *pC = '\0';/* 改行文字を削除した */
  pC = strchr(c, '#');
  if(pC != NULL)
   *pC = '\0';/* コメントを削除した */
/* メルセンヌ・ツイスタの設定 */
  pC = strstr(c, "0x");
  if(pC != NULL) {
   iS = sscanf(c, "%lx, %lx, %lx, %lx, %ld", &init[0], &init[1], &init[2], &init[3], &length);
   if(iS != 5) {
    fprintf(stderr, "pSetting(): iS != 5\n");
    exit(EXIT_FAILURE);
   }
   init_by_array(init, length);/* メルセンヌ・ツイスタの初期化 */
   continue;
  }
  pC = strstr(c, XTO);/* つづく */

67 :名無しさん@夢いっぱい:2006/11/13(月) 10:37:29 ID:fma5AE7U
  if(pC != NULL) {/* >>66のつづき */
   pC = pC + strlen(XTO);
   *pE = (int)strtol(pC, &pStop, 0);/* 摘出する個数 */
   continue;
  }
  pC = strstr(c, LOG);
  if(pC != NULL) {
   pC = pC + strlen(LOG);
   sscanf(pC, " %s", &cFile[0]);
   continue;
  }
  pC = strstr(c, FROM);
  if(pC != NULL) {
   pC = pC + strlen(FROM);
   *pShow = (int)strtol(pC, &pStop, 0);/* 表示を開始する行 */
   continue;
  }
  pC = strstr(c, REPEAT);
  if(pC != NULL) {
   pC = pC + strlen(REPEAT);
   *pRepeat = (int)strtol(pC, &pStop, 0);/* 反復する回数 */
   continue;
  }
  if(i >= BALL_COUNT)
   continue;
/* ボールの数字(文字列)を配列に記憶する */
  pC = &c[0];
  iS = sscanf(pC, "%s %lf", pBall, pWeight);
  if(iS == 2) {
   i++;
   pWeight++;
   pBall = pBall + DIGITS;
   continue;
  } else if(iS == EOF) {
   continue;
  } else {
   fprintf(stderr, "pSetting(): iS != 2(%s)\n", pC);
   exit(EXIT_FAILURE);
  }
 }
 *pCount = i;
 fclose(pFile);/* 設定ファイルをクローズした */
 if(cFile[0]=='\0') {
  pFile = NULL;/* ログファイルをオープンしない */
 } else {
  pFile = fopen(cFile, "at");/* ログファイルをオープンした */
  if(pFile == NULL) {
   fprintf(stderr, "pSetting(): pFile == NULL(%s)\n", &cFile[0]);
   exit(EXIT_FAILURE);
  }
 }
 if(*pRepeat == 0) {
  fprintf(stderr, "pSetting(): *pRepeat == 0\n");
  exit(EXIT_FAILURE);
 }
 return pFile;
}

68 :名無しさん@夢いっぱい:2006/11/13(月) 10:39:04 ID:fma5AE7U
/* 【ファイル名】pNew.h */
#include <stdio.h>
#include <stdlib.h>

typedef struct sBall sBall;
struct sBall {
 char *pBall;
 double dWeight;
 sBall *pNext;
};

69 :名無しさん@夢いっぱい:2006/11/13(月) 10:40:10 ID:fma5AE7U
#include "pNew.h" /* 【ファイル名】pNew.c */
sBall *pNew(char *pBall, double dWeight) {
 sBall *p;

 p = (sBall *)malloc(sizeof(sBall));
 if(p == NULL) {
  fprintf(stderr, "pNew(): p == NULL\n");
  exit(EXIT_FAILURE);
 }

 p->pBall = pBall;/* ボールの数字を示す文字列のアドレスを記憶した */
 p->dWeight = dWeight;
 p->pNext = NULL;/* pAdd()によってpNextを決定する */
 return p;
}

sBall *pAdd(sBall *pMin, sBall *p) {
 p->pNext = pMin;/* ボールを連結した */
 return p;/* pMin = pAdd()とすることによってpMinを更新する */
}

void FreeAll(sBall *pMin) {
 sBall *p;
/* 現在の先頭のボールから順に破棄する */
 while(pMin != NULL) {
  p = pMin->pNext;
  free(pMin);
  pMin = p;
 }
}

70 :名無しさん@夢いっぱい:2006/11/13(月) 10:41:04 ID:fma5AE7U
/* 【ファイル名】pShorten.h */
#include <stdlib.h>

typedef struct sBall sBall;
struct sBall {
 char *pBall;
 double dWeight;
 sBall *pNext;
};

71 :名無しさん@夢いっぱい:2006/11/13(月) 10:42:06 ID:fma5AE7U
/* 【ファイル名】pShorten.c */
#include "pShorten.h"
sBall *pShorten(sBall *pMin, sBall *pOld, sBall *p) {
 if(pOld == NULL) {/* 先頭のボールより前方にはボールが存在しない */
  pMin = p->pNext;/* 直後のボールを先頭のボールにした */
 } else if(p->pNext == NULL) {/* 末尾のボールより後方にはボールが存在しない */
  pOld->pNext = NULL;/* 直前のボールを末尾のボールにした */
 } else {
  pOld->pNext = p->pNext;/* 摘出したボールを迂回した */
 }

 free(p);/* 摘出したボールを破棄した */
 return pMin;
}

72 :名無しさん@夢いっぱい:2006/11/13(月) 10:45:35 ID:fma5AE7U
>>58の設定ファイルでは
重みを均等にしているため旧バージョン>>14-21と同一の出力になる。

73 :名無しさん@夢いっぱい:2006/11/13(月) 10:47:19 ID:fma5AE7U
#【ファイル名】parabola.txt
# y = -20/225 (x - 5)(x - 35)
0x123, 0x234, 0x345, 0x456, 4
Xto6
Log mtNtoR.txt

From 1
Repeat 200000

05 0.000000
06 2.577778
07 4.977778
08 7.200000
09 9.244444
10 11.111111
11 12.800000
12 14.311111
13 15.644444
14 16.800000
15 17.777778
16 18.577778
17 19.200000
18 19.644444
19 19.911111
20 20.000000
21 19.911111
22 19.644444
23 19.200000
24 18.577778
25 17.777778
26 16.800000
27 15.644444
28 14.311111
29 12.800000
30 11.111111
31 9.244444
32 7.200000
33 4.977778
34 2.577778
35 0.000000

74 :名無しさん@夢いっぱい:2006/11/13(月) 10:53:06 ID:fma5AE7U
>>73の設定ファイルで実験した。大幅に重みが相違しており、削除数字もある。
二十万行の結果として、出現数は以下のとおりであった。

06: 8572     21: 58441     
07: 16174     22: 57340     
08: 23038     23: 55904     
09: 29142     24: 54593     
10: 34759     25: 52570     
11: 39590     26: 50402     
12: 43686     27: 46903     
13: 46965     28: 43373     
14: 50168     29: 39278     
15: 52646     30: 34625     
16: 54500     31: 29301     
17: 56045     32: 23012     
18: 57638     33: 16206     
19: 57880     34: 8521     
20: 58728     

75 :名無しさん@夢いっぱい:2006/11/13(月) 11:27:59 ID:fma5AE7U
>>73の設定ファイルの結果をグラフにした http://p.pita.st/?m9gwkzxc

76 :名無しさん@夢いっぱい:2006/11/13(月) 11:38:57 ID:fma5AE7U
【実行例】設定ファイルを指定する
D:\bcc>mtntor parabola.txt > pa200000.txt

D:\bcc>

pa200000.txtは二十万行ある。ログファイル(mtNtoR.txt)は二十万行以上ある。

77 :64:2006/11/13(月) 11:59:54 ID:fma5AE7U
>>64 「反復(注2)」については、>>57のpLine()およびpPick()を参照してください

78 :名無しさん@夢いっぱい:2006/11/16(木) 23:58:46 ID:UAmGVRRn
>>58の設定ファイルで
  From 67356 # 表示を開始する行番号
Repeat 67356 # 反復する回数
に変更すれば
D:\bcc>mtntor mtntor.ini
07 15 30 35 36 40

D:\bcc>

2等だ!

79 :名無しさん@夢いっぱい:2006/12/07(木) 23:44:48 ID:UCU7ZMql
>>58の設定ファイル(mtNtoR.ini)において
  From 40 # 表示を開始する行番号
Repeat 40 # 反復する回数
に変更すれば
D:\bcc>mtntor mtntor.ini
01 05 25 27 39 41

D:\bcc>

3等

80 :75:2006/12/09(土) 00:48:31 ID:VPGk+gDZ
>>73の設定ファイルの結果をグラフにした(再度うpします)
http://www.shinetworks.net/cgi-bin/img-up/src/1165592719795.jpg

43 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)