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