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 )