Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Ruby: Общие вопросы > контрольная


Автор: ALI_G 2.4.2007, 15:03
Написать программу, которая заполняет массив длинной 10 факториалами чисел от 0 до 9.0!=1.

Автор: xolod 2.4.2007, 17:55
Очень навскидку от нечего делать. Если нужен флоат подправить надо только step.
Код

def fact(n)
  if (n <= 0) || (n == 1)
    1
  else
    n * fact(n-1)
  end
end

fact_list = Array.new
0.step(9, 1) { |i| fact_list.push(fact(i)) }


А вообще, банить вас надо, что за название темы, что за вопрос.

Автор: y0ma 2.4.2007, 22:53
мой вариант( без рекурсии в 1-у строку )  smile 
Код

maccuB = ( 1 .. 9 ).inject( [ 1 ] ){ | a, e | a << a.last * e }

Автор: FunnyFalcon 4.4.2007, 09:19
В две строки:
Код

a = 0
mass = (1..9).map{|i| a*=i}

Автор: setq 4.4.2007, 12:15
Цитата(FunnyFalcon @ 4.4.2007,  09:19)
В две строки:
Код

a = 0
mass = (1..9).map{|i| a*=i}

Ы?!  smile 

Автор: y0ma 4.4.2007, 13:31
Цитата(FunnyFalcon @  4.4.2007,  09:19 Найти цитируемый пост)
a = 0
mass = (1..9).map{|i| a*=i}


результат-то знаешь?  smile 

Автор: FunnyFalcon 15.5.2007, 13:27
Цитата(y0ma @ 4.4.2007,  13:31)
Цитата(FunnyFalcon @  4.4.2007,  09:19 Найти цитируемый пост)
a = 0
mass = (1..9).map{|i| a*=i}


результат-то знаешь?  smile

Блин smile
Конечно a=1
и конечно же mass = [a]+(1..9).map{|i| a*=i}
И вообще, твой вариант более идеологически выдержан smile

Автор: kronos_vano 13.7.2007, 22:39
----

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)