Поисковая форма:) поиск по free-lance.ru Топ/история/обновления фриланса, по разным параметрам (темы, сообщения, пользователи...) Автоматическое удаление постов от ненужных юзеров в топике (php скрипт) Досье(точный ник)
 

Ник (или часть ника):
?
Какой текст ищем:
?
Раздел блогов:
За срок
дней
Тип поиска: (по вхождению: по тексту гуг выдаст посты с "гуг", "гугл", "огугл"; "полнотекстовый": по тексту "гуг" выдаст посты только с "гуг")
По вхождению строки:  Полнотекстовый: 
(поиск не 100% актуальный, есть определённая задержка при обновлении данных для поиска. )
0 Всего найдено: 15
linkoln78 Сообщение 21/12/2011 11:47 Копия темы
Как написать рекурсивную функцию для n-го числа Фибоначчи. Заранее спасибо Вот так вроде она выглядит на C++
int fib_rec(int n)
{
if (n==1)or(n==2)
  return 1;
return fib_rec(n-1)+fib_rec(n-2);
}

Как это написать на языке C#
grunger_net Сообщение 21/12/2011 11:52 Копия темы
ряд Фибоначчи – это когда число следующего сегмента равен сумме двух предыдущих? могу перепутать..

ну так вот ты из одного числа сумму двух предыдущих не получишь. а значит надо как минимум в сигнатуру метода добавлять два аргумента.

если я правильно понял, конечно.

ЗЫ.. оооочень странный код :DD
linkoln78 Сообщение 21/12/2011 11:56 Копия темы
Да, вы все правильно поняли ТОлько что именно мне нужно исправить, и что-бы оно работало на языке C#
grunger_net Сообщение 21/12/2011 12:00 Копия темы
Нужно исправить всё :)

Сначала на листочке:

0, 1, 1, 2, 3, 5, 8...

Для получения следующего нужно в метод передавать два предыдущих... т.е. 5 и 8.. передаем, метод считает, что это 13... спрашиваем у метода уже 8 и 13... получаем 21... потом 13 и 21.. и т.д.

Алгоритм слишком простой, чтобы я открывал студию)
linkoln78 Сообщение 21/12/2011 12:03 Копия темы
Вы сможете помочь, мне это очень нужно сделать сегодня...?
grunger_net Сообщение 21/12/2011 12:25 Копия темы
я вам уже очень помог :) осталось дело за малым. у меня под рукой сейчас нет студии. я пью кофу на кухне и смотрю симпсонов))

еще есть вопрос.. ряд Ф строится от s1, s2? 

как вариант, можно получить ряд Ф от числа N.. путем.. расчета Ф до N – 1 и внесения в глобальное хранилище данных. Оттуда и можно будет получать данные нужные для построения ряда дальше. Это так, совет.
RMB Сообщение 21/12/2011 12:29 Копия темы
RMB Сообщение 21/12/2011 12:31 Копия темы
en.csharp-online.net/Calc...

вот мой вариант на JAVA, не совсем корректный, но как пример
public static void main(String[] args) {
// TODO Auto-generated method stub
int n = 20;
System.out.print("0 1");
fibon(0, 1, n);
}

public static void fibon(int num1, int num2, int n){
n--;
if(n > 0){
int num = num1 + num2;
System.out.print(" " + num);
fibon(num2, num, n);
}
}
koz128901 Сообщение 21/12/2011 12:42 Копия темы
Я бы сказал что код недостаточно универсален
Нужно так:

import System;
import CSharp;

namespace Fibonacci

   class FibonacciClass 
   {
       static dynamic Fibonacci (dynamic x)
       {
            Console.WriteLine ("x = ", x);
            if (x <= 1) return x;
            return Fibonacci (x-1) + Fibonacci (x-2);
       }
 
       static void Main( )
       {
           Console.WriteLine ("Fibonacci no. = ", FibonacciClass.Fibonacci (5));
           Console.ReadKey();
       }
    }
}
grunger_net Сообщение 21/12/2011 12:49 Копия темы
с 4.0 может не разобраться товарищ.

и вы, наверное, не знаете.. что такое ряд Ф :) как ремейк того, что написал ТС пойдет.. но это ничего общего с Фибоначчи не имеет.
Butterfly88 Сообщение 21/12/2011 12:49 Копия темы
Извините, что вмешиваюсь в ваш разговор, джентельмены. Я, конечно, понимаю, что это скорее учебная задача, но вообще её лучше, проще и правильнее решать НЕ через рекурсию.
grunger_net Сообщение 21/12/2011 12:51 Копия темы
Скорее всего, просто проходят рекурсию :) Как сам факт. Исходя из названия всего треда.
koz128901 Сообщение 21/12/2011 12:53 Копия темы
Я знаю. ТС просил просто вариант его функции на C# 4.0 – вот он и есть ;)
koz128901 Сообщение 21/12/2011 12:53 Копия темы
Через регистры накопители было-бы НАМНОГО лучше, но ТС ОЧЕНЬ нужна рекурсия :(
grunger_net Сообщение 21/12/2011 12:58 Копия темы
Без вопросов тогда )
0

©2008 edogs egods
Выразить восторг, поругаться
или предложить что-нибудь можно на форуме
Для обсуждения этого сервиса так же есть темы на фрилансе по
поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал"