Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

programovani:ruby:erast_sito [2011/09/19 21:09] (aktuální)
ladariha vytvořeno
Řádek 1: Řádek 1:
 +====== Eratosthenovo sito (ukecane) ======
  
 +
 +<code ruby>
 +def erast_sieve(stop)
 +  # init array
 +  field2 = [];
 +  for i in 1..stop-1
 +    field2[i-1]=i+1;
 +  end
 +    
 +  primes = [];
 +  stop = 0;
 +  to_test = 1;
 +  
 +  while stop!=1
 +    to_test = field2[0];
 +    primes.push(field2[0])
 +    
 +    field2.each { |x|
 +      if(x%to_test==0)
 +        field2.delete(x)
 +      end
 +    }
 +    
 +    if(to_test*to_test >= field2.last)
 +      primes = primes.concat(field2)
 +      stop = 1;
 +    end
 +  
 +  end
 +  puts primes.inspect
 +  puts "Number of primes: "+primes.count.to_s
 +end
 +
 +erast_sieve(30)
 +</code>
 
/disk_1/www/cz/ladariha/wiki/data/pages/programovani/ruby/erast_sito.txt · Poslední úprava: 2011/09/19 21:09 autor: ladariha
 
Kromě míst, kde je explicitně uvedeno jinak, je obsah této wiki licencován pod následující licencí:CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki