Originally posted by Tycoon
beh poi anke perke' me li lootano i reagenti(mica son scemo a insurarli ^^ !!! )
beh poi anke perke' me li lootano i reagenti(mica son scemo a insurarli ^^ !!! )






using System;
using Server;
namespace Server.Misc
{
public class TestRandom
{
public static void Initialize()
{
Server.Commands.Register( "TestRandom", AccessLevel.Administrator,
new CommandEventHandler( TestRandom_OnCommand ) );
}
[Usage( "TestRandom <nmax> <nn>" )]
[Description( "Tests appropriate casuality of pseudorandom numbers" )]
public static void TestRandom_OnCommand( CommandEventArgs e )
{
int nmax;
int nn;
if ( e.Length == 2 )
{
nmax = e.GetInt32( 0 );
nn = e.GetInt32( 1 );
if (nmax <= 0 || nn <= 0 || nn > 10000000)
{
e.Mobile.SendMessage( "Unacceptable values!");
return;
}
}
else
{
e.Mobile.SendMessage( "Usage: TestRandom <nmax> <nn>" );
return;
}
e.Mobile.SendMessage( "Starting test... Result displayed below " +
"should be approximately {0}", Math.PI );
e.Mobile.SendMessage( "Test Completed. Your result is {0}",
DoTest( nmax, nn ) );
}
private static double DoTest( int nmax, int nn )
{
int primes = 0;
double pi = 0;
int m, n, d;
m = Utility.Random( nmax );
for (int i = 0; i < nn; i++)
{
n = Utility.Random( nmax );
d = GCD( m, n );
if ( d == 1)
primes++;
m = n;
}
try { pi = Math.Sqrt( 6.0 * nn / primes ); } catch { }
return pi;
}
public static int GCD( int m, int n )
{
int a = m;
int b = n;
int r;
while ( b != 0 )
{
r = a % b;
a = b;
b = r;
}
return a;
}
}
}
3,138824 3,138824 3,145805 3,127291 3,138309 3,142438 3,130099 3,176338 3,148663 3,14425 3,157807 3,135479 3,13625 3,148403 3,111357 3,172872 3,140888 3,127037 3,149964 3,113618
In[2]:= For[j = 0, j < 20, j++, nmax = 1000000; nn = 10000; primes = 0; pi = 0; m = Random[Integer, nmax]; For[i = 0, i < nn, i++, n = Random[Integer, nmax]; d = GCD[m, n]; If[d == 1, primes++]; m = n]; Print["π = ", Sqrt[6.0 nn/primes]]];]; From In[2]:= π = 3.15309 From In[2]:= π = 3.11866 From In[2]:= π = 3.13882 From In[2]:= π = 3.12297 From In[2]:= π = 3.12424 From In[2]:= π = 3.15728 From In[2]:= π = 3.15754 From In[2]:= π = 3.12602 From In[2]:= π = 3.14866 From In[2]:= π = 3.1342 From In[2]:= π = 3.15205 From In[2]:= π = 3.1342 From In[2]:= π = 3.13599 From In[2]:= π = 3.13908 From In[2]:= π = 3.12424 From In[2]:= π = 3.12806 From In[2]:= π = 3.13986 From In[2]:= π = 3.15833 From In[2]:= π = 3.125 From In[2]:= π = 3.12857
In[1]:=
chance=33.3;tries=1000;
For[j=0,j<20,j++,
results={0,0};
tabella=Table[0,{k,tries}];
For[i=0,i<tries,i++,
random = Random[Integer, {0,99}];
If[chance>random,
results[[1]]++;tabella[[i+1]]=1,
results[[2]]++;tabella[[i+1]]=0]];
sequenza=tabella[[1]];
sequenzamax=0;
For[l=2,l≤tries,l++,
If[sequenzamax<sequenza, sequenzamax=sequenza];
val=tabella[[l]];
If[val==0, sequenza++,sequenza=0]]
Print["Risultati: ",results, " - Sequenza massima di fallimenti: ", sequenzamax]];
From In[1]:=
Risultati: {343,657} - Sequenza massima di fallimenti: 12
From In[1]:=
Risultati: {349,651} - Sequenza massima di fallimenti: 15
From In[1]:=
Risultati: {337,663} - Sequenza massima di fallimenti: 14
From In[1]:=
Risultati: {343,657} - Sequenza massima di fallimenti: 14
From In[1]:=
Risultati: {326,674} - Sequenza massima di fallimenti: 11
From In[1]:=
Risultati: {352,648} - Sequenza massima di fallimenti: 14
From In[1]:=
Risultati: {338,662} - Sequenza massima di fallimenti: 15
From In[1]:=
Risultati: {337,663} - Sequenza massima di fallimenti: 15
From In[1]:=
Risultati: {331,669} - Sequenza massima di fallimenti: 13
From In[1]:=
Risultati: {333,667} - Sequenza massima di fallimenti: 18
From In[1]:=
Risultati: {335,665} - Sequenza massima di fallimenti: 17
From In[1]:=
Risultati: {326,674} - Sequenza massima di fallimenti: 15
From In[1]:=
Risultati: {341,659} - Sequenza massima di fallimenti: 12
From In[1]:=
Risultati: {324,676} - Sequenza massima di fallimenti: 14
From In[1]:=
Risultati: {346,654} - Sequenza massima di fallimenti: 13
From In[1]:=
Risultati: {340,660} - Sequenza massima di fallimenti: 26
From In[1]:=
Risultati: {314,686} - Sequenza massima di fallimenti: 18
From In[1]:=
Risultati: {338,662} - Sequenza massima di fallimenti: 17
From In[1]:=
Risultati: {325,675} - Sequenza massima di fallimenti: 15
From In[1]:=
Risultati: {354,646} - Sequenza massima di fallimenti: 11

Commenta