rand() 的 min, max
(高顯忠, sjgau4311@gmail.com, 2010-12-22 08:10)
1樓
#include <cstdlib>
#include <iostream>
// ----------------------------------------------
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <math.h>
// ----------------------------------------------
using namespace std;
// ----------------------------------------------
#if 0
#endif
// ----------------------------------------------
int main(int argc, char *argv[])
{
int no, min, max, i, a;
no= 10;
srand( (unsigned)time( NULL ) );
while (no > 0) {
min= (int) (pow(2.0, 31.0) - 1.0 + 0.5);
max= -min;
for (i=0;i<no;i++) {
a= rand();
if (min > a) min= a;
if (max < a) max= a;
}
printf("no= %.6le, min= %d, max= %d\n",
((double) no), min, max);
system("pause");
no*= 2;
}
return EXIT_SUCCESS;
}
// ----------------------------------------------
#if 0
no= 1.000000e+001, min= 332, max= 30745
請按任意鍵繼續 . . .
no= 2.000000e+001, min= 1930, max= 31117
請按任意鍵繼續 . . .
no= 4.000000e+001, min= 1499, max= 32224
請按任意鍵繼續 . . .
no= 8.000000e+001, min= 198, max= 31838
請按任意鍵繼續 . . .
no= 1.600000e+002, min= 567, max= 31927
請按任意鍵繼續 . . .
no= 3.200000e+002, min= 3, max= 32764
請按任意鍵繼續 . . .
no= 6.400000e+002, min= 5, max= 32759
請按任意鍵繼續 . . .
no= 1.280000e+003, min= 43, max= 32751
請按任意鍵繼續 . . .
no= 2.560000e+003, min= 0, max= 32765
請按任意鍵繼續 . . .
no= 5.120000e+003, min= 16, max= 32766
請按任意鍵繼續 . . .
no= 1.024000e+004, min= 1, max= 32767
請按任意鍵繼續 . . .
no= 2.048000e+004, min= 1, max= 32767
請按任意鍵繼續 . . .
no= 4.096000e+004, min= 1, max= 32766
請按任意鍵繼續 . . .
no= 8.192000e+004, min= 0, max= 32767
請按任意鍵繼續 . . .
no= 1.638400e+005, min= 0, max= 32766
請按任意鍵繼續 . . .
no= 3.276800e+005, min= 0, max= 32767
請按任意鍵繼續 . . .
no= 6.553600e+005, min= 0, max= 32767
請按任意鍵繼續 . . .
no= 1.310720e+006, min= 0, max= 32767
請按任意鍵繼續 . . .
no= 2.621440e+006, min= 0, max= 32767
請按任意鍵繼續 . . .
no= 5.242880e+006, min= 0, max= 32767
請按任意鍵繼續 . . .
no= 1.048576e+007, min= 0, max= 32767
請按任意鍵繼續 . . .
no= 2.097152e+007, min= 0, max= 32767
請按任意鍵繼續 . . .
no= 4.194304e+007, min= 0, max= 32767
請按任意鍵繼續 . . .
no= 8.388608e+007, min= 0, max= 32767
請按任意鍵繼續 . . .
no= 1.677722e+008, min= 0, max= 32767
請按任意鍵繼續 . . .
no= 3.355443e+008, min= 0, max= 32767
請按任意鍵繼續 . . .
no= 6.710886e+008, min= 0, max= 32767
請按任意鍵繼續 . . .
no= 1.342177e+009, min= 0, max= 32767
請按任意鍵繼續 . . .
Press any key to continue
#endif
// ----------------------------------------------