[#399938] how to read arrary with an array — "Richard D." <lists@...>

Hello. I believe this is basic question, but I'm just starting to learn

19 messages 2012/10/02

[#400050] img src while sending email ruby cgi — Ferdous ara <lists@...>

Hi

16 messages 2012/10/05

[#400351] Drop 1st and last particular character — ajay paswan <lists@...>

What is the most efficient way to drop '#' from the first place and last

15 messages 2012/10/16

[#400374] database part of a desktop application — "Sebastjan H." <lists@...>

Hi,

14 messages 2012/10/16
[#400375] Re: database part of a desktop application — Chad Perrin <code@...> 2012/10/16

On Wed, Oct 17, 2012 at 05:28:39AM +0900, Sebastjan H. wrote:

[#400377] Re: database part of a desktop application — sto.mar@... 2012/10/17

Am 16.10.2012 23:24, schrieb Chad Perrin:

[#400389] Re: database part of a desktop application — Chad Perrin <code@...> 2012/10/17

On Wed, Oct 17, 2012 at 01:39:21PM +0900, sto.mar@web.de wrote:

[#400386] Unable to send attachment, and dealing with multiple attachment — ajay paswan <lists@...>

Hi,

11 messages 2012/10/17

[#400454] Hash with Integer key issue — Wayne Simmerson <lists@...>

Hi Im new to Ruby and am getting some unexpected results from a

18 messages 2012/10/19

[#400535] Name/symbol/object type clash? What is happening here? — Todd Benson <caduceass@...>

It's nonsense code, but I'm curious as to what is going on behind the scenes...

41 messages 2012/10/23

[#400556] Calling a method foo() or an object foo.method_call_here - both — Marc Heiler <lists@...>

Hello.

13 messages 2012/10/24

[#400650] OpenSSL ECDSA public key from private — Nokan Emiro <uzleepito@...>

Hi,

11 messages 2012/10/27

[#400680] Passing folder as argument ARGV? — Joz Private <lists@...>

Is there an easy way to pass multiple files on the command line?

15 messages 2012/10/28
[#400681] Re: Passing folder as argument ARGV? — brad smith <bradleydsmith@...> 2012/10/28

How are you traversing the directory you pass in on the command line ?

[#400697] File.readable? and /proc — Jeff Moore <lists@...>

root@nail:/projects/proc_fs# uname -a

13 messages 2012/10/28

[#400714] Marshal.load weird issue — "Pierre J." <lists@...>

Hi guys

12 messages 2012/10/28

[#400781] bug?: local variable created in if modifier not available in modified expression — "Mean L." <lists@...>

irb(main):001:0> local1 if local1 = "created"

21 messages 2012/10/30
[#400807] Re: bug?: local variable created in if modifier not available in modified expression — Bartosz Dziewoński <matma.rex@...> 2012/10/31

Oh, and in case it wasn't apparent: you can just add

[#400808] Re: bug?: local variable created in if modifier not available in modified expression — Eliezer Croitoru <eliezer@...> 2012/10/31

On 10/31/2012 4:52 PM, Bartosz Dziewoナгki wrote:

[#400809] Re: bug?: local variable created in if modifier not available in modified expression — Robert Klemme <shortcutter@...> 2012/10/31

On Wed, Oct 31, 2012 at 4:28 PM, Eliezer Croitoru <eliezer@ngtech.co.il>wrote:

[#400784] REXML & HTMLentities incorrectly map to UTF-8 — "Mark S." <lists@...>

I have some XML data (UTF 8) that I'm trying to convert into another XML

13 messages 2012/10/30

Re: Kata @$$-kick! Prime Factors

From: David Springer <dnspringer@...>
Date: 2012-10-07 01:29:31 UTC
List: ruby-talk #400093
This will get you the answers you want BUT it is not doing the correct
thing.
Your trial divisors only need to be primes.

# -----------
# Create a method which takes integers and returns their prime factors in
an array.

  # primes are integers greater than 1,
  # divisible only by 1 and themselves.
  # primes > 2 are odd numbers.
  # prime factors of integer <= square root of integer parameter (n)

def primes(n)
puts
puts
  # initialize the array to add the prime factors
  prime_factors = []
  factor = n
  divisor = 2
  while divisor*divisor <= factor
  # iterate over range, up to sqrt integer
  #(2).upto(Math.sqrt(factor).to_i). each do |divisor|
  # for divisor in (2..factor) do
  # Math.sqrt(factor).to_i.downto(2).each do |divisor|

    puts "Finding primes from #{divisor} to #{factor}."
    puts
    puts "Checking now if #{divisor} is a factor."

      while factor % divisor == 0

        puts "--> #{factor} is divisible by #{divisor}."

        prime_factors << divisor

        puts "Factors array now set: #{prime_factors.inspect}"

        quotient = factor / divisor

        factor = quotient

      end #/if loop
      divisor += 1

  end #/do
  puts
  puts "Exiting loop; #{factor} is the last quotient to've passed if
statement."
  if factor > 1
      prime_factors << factor
   end
  p prime_factors
end


On Sat, Oct 6, 2012 at 4:40 PM, incag neato <lists@ruby-forum.com> wrote:

> I'm trying to re-write the prime factors kata without using the Prime
> library. About to go berserk with frustration, too.
>
> I've tried a mess of different techniques and puts'd all over the place
> to "see" a solution, but have just been looking at it too long now.
>
> Right now the code below will iterate over a range, find the factors,
> and add
> to array.
>
> But I'm missing something to reduce the factors to actual prime factors.
> : \
>
> The following produces the answer I'm looking for, with the prime
> library (for
> guidance).
>
> require 'prime'
>
> def prime(n)
>   n.prime_division.map { |base, exp| [base]*exp }.flatten
> end
>
> Any input on the below?? Thanks in advance for your time & help
>
> # -----------
> # Create a method which takes integers and returns their prime factors
> in an array.
>
>   # primes are integers greater than 1,
>   # divisible only by 1 and themselves.
>   # primes > 2 are odd numbers.
>   # prime factors of integer <= square root of integer parameter (n)
>
> def primes(n)
> puts
> puts
>   # initialize the array to add the prime factors
>   prime_factors = []
>   factor = n
>
>   # iterate over range, up to sqrt integer
>   (2).upto(Math.sqrt(factor).to_i). each do |divisor|
>   # for divisor in (2..factor) do
>   # Math.sqrt(factor).to_i.downto(2).each do |divisor|
>
>     puts "Finding primes from #{divisor} to #{factor}."
>     puts
>     puts "Checking now if #{divisor} is a factor."
>
>       if factor % divisor == 0
>
>         puts "--> #{factor} is divisible by #{divisor}."
>
>         prime_factors << divisor
>
>         puts "Factors array now set: #{prime_factors.inspect}"
>
>         quotient = factor / divisor
>
>         factor = quotient
>
>       end #/if loop
>
>   end #/do
>   puts
>   puts "Exiting loop; #{factor} is the last quotient to've passed if
> statement."
>   prime_factors << factor
>   p prime_factors
> end
>
> # primes(256) # should print [2,2,2,2,2,2,2,2]
> # primes(100) # should print [2,2,5,5]
> # primes(81) # should print [3,3,3,3]
> # primes(10) # should print [2,5]
> primes(8) # should print [2,2,2] --> currently prints [2,4]
>
> --
> Posted via http://www.ruby-forum.com/.
>
>


-- 
David N. Springer
Eau Claire, WI

In This Thread

Prev Next