Ky eshte nje script ne Perl qe gjeneron numra te stermedhenj te rastesishem.
Per mua ekzistonte nevoja e krijimit te nje scripti te tille duke qene se perl, apo edhe C, kane nje kufi te caktuar shifrash te lejuara para se te kalojne ne numra shkencore.
Numri i kerkuar nuk duhet te kete me pak se 16 shifra.
Ky skript ne pc tim gjeneron dhe printon nje numer te rastesishem me 350.000 shifra ne 4 sec.
natyrisht performaca varet na pc juaj.
*Kerkon modulin Perl Math::BigInt
Kodi:
#! /usr/bin/perl
use Math::BigInt;
sub create_number{
$length=$_[0];
for($count=0;$count<int($length/16);$count++){
$lower=1;
for($i=0;$i<15;$i++){
$lower=$lower."0";}
$higher=9;
for($j=0;$j<15;$j++){
$higher=$higher."9";}
$random = new Math::BigInt int(rand( $higher-$lower+1 ) ) + $lower;
$num=$num.$random;
}
if($length%16 != 0){
$lower=1;
for($i=0;$i<$length-(16*int($length/16))-1;$i++){
$lower=$lower."0";}
$higher=9;
for($j=0;$j<$length-(16*int($length/16))-1;$j++){
$higher=$higher."9";}
$random = new Math::BigInt int(rand( $higher-$lower+1 ) ) + $lower;
$num=$num.$random;}
return $num;
}
sub usage{
print "\nUsage: big_random_int.pl number_length\n";
}
if(@ARGV !=1){
&usage;
}
elsif(@ARGV == 1){
$length0=$ARGV[0];
if($length0<16>16){
$output=&create_number($length0);
if(length($output)==$length0){
print $output;
}
}
}
sid 9/15/2005
Publikuar gjithashtu ne :
Planet Source Code
Pr-Tech ( si pjese e nje sfide programimi )