Модераторы: Alx, Fixin

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Вы-ыВерните Ваш мозг, Задача по Программированию! 
:(
    Опции темы
Doc_d0s
  Дата 21.2.2005, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 15.12.2004
Где: в кресле

Репутация: нет
Всего: 3



Написать программу для вычисления числа всевозможных перестановок, !!!без использования рекурсии!!! smile smile
--------------------
Админ- это вождь Apache'й :)
PM MAIL ICQ   Вверх
Fedor
Дата 22.2.2005, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Днепрянин
****


Профиль
Группа: Участник
Сообщений: 2090
Регистрация: 8.2.2003
Где: Великий

Репутация: 1
Всего: 32



а разве это не n! будет?


--------------------
Мы - Днепряне. Мы всех сильней.
PM ICQ   Вверх
TwisT_X
Дата 22.2.2005, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


It's works!
**


Профиль
Группа: Участник
Сообщений: 293
Регистрация: 15.2.2005
Где: Earth

Репутация: 1
Всего: 4



Цитата
всевозможных перестановок

Как это понять расшифруй плиз..


--------------------
Если ты упадешь я буду рядом. (с) Асфальт
PM MAIL WWW   Вверх
Doc_d0s
Дата 22.2.2005, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 15.12.2004
Где: в кресле

Репутация: нет
Всего: 3



Цитата
а разве это не n! будет?

Ага а как ты вычислишь факториал без рекурсии ? smile
--------------------
Админ- это вождь Apache'й :)
PM MAIL ICQ   Вверх
sergejzr
Дата 22.2.2005, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Разве этот не факториал?
Код

int ret=1;
for(int i=1;i<=n;i++)
{
ret*=i;
}
cout<<ret<<endl;



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Бегемот
Дата 22.2.2005, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 219
Регистрация: 26.1.2005
Где: На границе Европы и Азии

Репутация: нет
Всего: 3



ИМХО вот так:
Код

 int ret = 1;
 for(int i=1; i<=n; i++)
   ret *= i;
 cout<< ret <<endl;


PM MAIL   Вверх
sergejzr
Дата 22.2.2005, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



rewerew

Si, exacto ! smile
Сказывается рука набитая на циклах через массивы smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Doc_d0s
Дата 22.2.2005, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 15.12.2004
Где: в кресле

Репутация: нет
Всего: 3



Цитата
ret *= i;

А это по твоему не рекурсия !!!!!!? smile
--------------------
Админ- это вождь Apache'й :)
PM MAIL ICQ   Вверх
sergejzr
Дата 22.2.2005, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Doc_d0s нет smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
S.A.P.
Дата 22.2.2005, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: нет
Всего: 71



Кстати, факториал на самом деле всегда считается без рекурсии, так быстрее.
PM MAIL   Вверх
TwisT_X
Дата 22.2.2005, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


It's works!
**


Профиль
Группа: Участник
Сообщений: 293
Регистрация: 15.2.2005
Где: Earth

Репутация: 1
Всего: 4



Факториал может считаться и с рекурсией :
Код

function factor(n: integer): Int64;
begin
if(n < 2)
 then Result := 1
 else Result := n * factor(n - 1);
end;

Но если например создать в приложении два вида факториалов ( в первом обычный , а во втором с рекурсией) и поставить функцию для измерени интервала времени та разница между первым и вторым способами во времени будет огромная..


--------------------
Если ты упадешь я буду рядом. (с) Асфальт
PM MAIL WWW   Вверх
cardinal
Дата 22.2.2005, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 1
Всего: 99



А можно еще и итеративной рекурсией... smile


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
sergejzr
Дата 22.2.2005, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



cardinal а можно сложением smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
cardinal
Дата 22.2.2005, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 1
Всего: 99



А можно... а можно вычитанием (отрицательных чисел) или делением (на дроби)...
smile


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Goryachev
Дата 23.2.2005, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 23.2.2005
Где: Израиль

Репутация: нет
Всего: нет



Все, что можно сделать рекурсией, можно сделать итеративно. Просто иногда есть задачи, которые рекурсивно решаются легко, а итеративно надо ломать бошку...
PM MAIL   Вверх
Страницы: (3) Все [1] 2 3 
Закрытая темаСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Интересные и занимательные задачи по программированию | Следующая тема »


 




[ Время генерации скрипта: 0.0857 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.