Hi.
Here is a perl solution:
#!/usr/bin/env perl
# @(#) p1 Demonstrate random big integers, perl, random.org.
# Using module from cpan.org:
# Math::BigInt::Random, q.v.
use Math::BigInt;
use Math::BigInt::Random qw/ random_bigint /;
my ( $i, $number );
print "\n";
for ( $i = 1; $i <= 10; $i++ ) {
$number = random_bigint( length => 13 );
print " Big integer, length 13-decimal, # $i: $number\n";
}
print "\n";
for ( $i = 1; $i <= 10; $i++ ) {
$number = random_bigint( length => 16 );
print " Big integer, length 16-decimal, # $i: $number\n";
}
print "\n";
for ( $i = 1; $i <= 10; $i++ ) {
$number = random_bigint( min => 1, max => 10**16 - 1 );
print " Big integer, 1 - 2**16-1, # $i: $number\n";
}
print "\n";
for ( $i = 1; $i <= 10; $i++ ) {
$number = random_bigint( length => 16, use_internet => 1 );
print " Big integer, from random.org, length 16-decimal, # $i: $number\n";
}
exit(0);
producing:
% ./p1
Big integer, length 13-decimal, # 1: 5289843301912
Big integer, length 13-decimal, # 2: 5131901500099
Big integer, length 13-decimal, # 3: 2395645168348
Big integer, length 13-decimal, # 4: 5430633161141
Big integer, length 13-decimal, # 5: 9357805637434
Big integer, length 13-decimal, # 6: 1499363029752
Big integer, length 13-decimal, # 7: 6054280946061
Big integer, length 13-decimal, # 8: 3660352156516
Big integer, length 13-decimal, # 9: 4802606276086
Big integer, length 13-decimal, # 10: 3833418903910
Big integer, length 16-decimal, # 1: 9705369256666533
Big integer, length 16-decimal, # 2: 3673996578033120
Big integer, length 16-decimal, # 3: 8091897092632003
Big integer, length 16-decimal, # 4: 1457302007140337
Big integer, length 16-decimal, # 5: 8014569470230008
Big integer, length 16-decimal, # 6: 5833200500889384
Big integer, length 16-decimal, # 7: 1796616941692496
Big integer, length 16-decimal, # 8: 6281243514727502
Big integer, length 16-decimal, # 9: 3166175172072335
Big integer, length 16-decimal, # 10: 8303094662675836
Big integer, 1 - 2**16-1, # 1: 8373969216659148
Big integer, 1 - 2**16-1, # 2: 6546006739508046
Big integer, 1 - 2**16-1, # 3: 1286637954039551
Big integer, 1 - 2**16-1, # 4: 8345572676433835
Big integer, 1 - 2**16-1, # 5: 2905925453670991
Big integer, 1 - 2**16-1, # 6: 6195505548239626
Big integer, 1 - 2**16-1, # 7: 2762366058433696
Big integer, 1 - 2**16-1, # 8: 8429021814413192
Big integer, 1 - 2**16-1, # 9: 4990069084726779
Big integer, 1 - 2**16-1, # 10: 4516295819427199
Big integer, from random.org, length 16-decimal, # 1: 1694345179253085
Big integer, from random.org, length 16-decimal, # 2: 2165834290283208
Big integer, from random.org, length 16-decimal, # 3: 2467216438238563
Big integer, from random.org, length 16-decimal, # 4: 2204334445952010
Big integer, from random.org, length 16-decimal, # 5: 6380334714185258
Big integer, from random.org, length 16-decimal, # 6: 5365790761514186
Big integer, from random.org, length 16-decimal, # 7: 6583089331520896
Big integer, from random.org, length 16-decimal, # 8: 7352122857137993
Big integer, from random.org, length 16-decimal, # 9: 2148627395193063
Big integer, from random.org, length 16-decimal, # 10: 6847378193318718
The random.org source limits free bits to 1M per IP per day. So, in coding a testing this perl script, I am now down to:
Current allowance: 818,656 bits
Next free top-up: 181,344 bits
Time till next free top-up: 09:41:06
See RANDOM.ORG - True Random Number Service for details on that aspect of truly random numbers (bits)
Best wishes ... cheers, drl