Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2011, 19:52   #1
Катя)
Пользователь
 
Аватар для Катя)
 
Регистрация: 02.03.2011
Сообщений: 16
По умолчанию Факториал

Надо найти сумму факториалов нечетных чисел в диапазоне в от n до m.
Оператор: repeat


Прошу помочь.
Заранее благодарю.
Катя) вне форума Ответить с цитированием
Старый 02.03.2011, 20:01   #2
Летучий_СкилетиК
Форумчанин
 
Аватар для Летучий_СкилетиК
 
Регистрация: 04.02.2011
Сообщений: 260
По умолчанию

Код:
var n,m,i,j:integer;
    s,f:longint;
begin
read(n,m);
f:=1;
for i:=2 to n do
   f:=f*i;
i:=n;
s:=0;
repeat
           if  i mod 2 <>0 then s:=s+f;
           inc(i);
           f:=f*i;
until i>m;
writeln(s);
end.

Последний раз редактировалось Летучий_СкилетиК; 03.03.2011 в 09:35.
Летучий_СкилетиК вне форума Ответить с цитированием
Старый 02.03.2011, 20:45   #3
Катя)
Пользователь
 
Аватар для Катя)
 
Регистрация: 02.03.2011
Сообщений: 16
По умолчанию

спасибо большое)
Катя) вне форума Ответить с цитированием
Старый 03.03.2011, 00:24   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Летучий_СкилетиК, в коде есть недоработка(по заданию) и есть неэффективная реализация.

Недоработка - забыли, что в условии надо искать сумму факториалов нечётных чисел..

А не очень эффективная реализация.
Это потому, что Вы факториал каждый раз считаете от единицы.

Вот скажите, если у Вас есть факториал N (N!), что Вы сделаете, чтобы найти факториал следующего числа ( N+1, соответственно) ?! посчитаете произведение всех чисел от 1 до N+1 ? Это будет правильно, но ... Гораздо лучше взять факториал N! (который у нас уже есть) и умножить его на это самое следующее число (т.е. на (N+1)) и всё. Всего одна операция умножения...
Впрочем, это я Вам просто в качестве совета говорю...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 03.03.2011, 09:37   #5
Летучий_СкилетиК
Форумчанин
 
Аватар для Летучий_СкилетиК
 
Регистрация: 04.02.2011
Сообщений: 260
По умолчанию

Цитата:
Недоработка - забыли, что в условии надо искать сумму факториалов нечётных чисел.
,все недочеты отредактировал
Летучий_СкилетиК вне форума Ответить с цитированием
Старый 03.03.2011, 10:00   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
все недочеты отредактировал
супер! Имхо, кстати, стало даже короче и нагляднее.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Факториал ! Sport Помощь студентам 6 27.10.2010 23:31
Факториал Dracula777 Помощь студентам 4 26.02.2010 22:56
факториал в си++ Sjava Помощь студентам 1 21.12.2008 12:17
Факториал в C++ slog Помощь студентам 2 03.12.2008 07:56