Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 451

/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
Составить программу вычисления суммы факториалов всех четных чисел от 1 до 8

Силиванов Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Силиванов (статус: Посетитель)
Вопрос отправлен: 27 июня 2011, 10:02
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Gooddy

Здравствуйте, Силиванов!
Не хотелось писать, потому, что до этого можно дойти самому, но мне нужно ещё 5 ответов до 3-го класса и я смогу цитировать.

Дарю.

Приложение:
  1. var
  2. i: Integer;
  3.  
  4. function Factorial( n: Integer ): Integer;
  5. var
  6. i: Integer;
  7. begin
  8. Result := 1;
  9. for i:=2 to n do
  10. Result := Result * i;
  11. end;
  12.  
  13. begin
  14. for i:=1 to 8 do
  15. WriteLn( 'Factorial ', i, ' = ', Factorial(i) );
  16. ReadLn;
  17. end.
  18.  


Ответ отправил: Gooddy (статус: 3-ий класс)
Время отправки: 27 июня 2011, 16:48


Мини-форум вопроса

Всего сообщений: 14; последнее сообщение — 28 июня 2011, 06:44; участников в обсуждении: 5.
bugmenot

bugmenot (статус: 3-ий класс), 27 июня 2011, 10:06 [#1]:

и побыстрее
виконання програми розпочинається з того самого мiсця, де призупинилося.

min@y™

min@y™ (статус: Доктор наук), 27 июня 2011, 10:19 [#2]:

Цитата (bugmenot):

и побыстрее

гыгыгы. :D
type
  TValue = 1..8;
 
const
  Factorials: array[TValue] of Word = (1, 2, 6, 24, 120, 720, 5040, 40320);
 
function GetSum: LongInt;
var
  X: TValue;
  Result: LongInt;
begin
  X:= 2;
  Result:= 0;
  repeat
    Inc(Result, Factorials[X]);
    Inc(X, 2);
  until X = 8;
  GetSum:= Result;
end;
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
min@y™

min@y™ (статус: Доктор наук), 27 июня 2011, 10:25 [#3]:

А можно ещё проще!
function GetSum: Word;
begin
  GetSum:= 41066; { задача решена, ура, землекопа 1,5! :)) }
end;
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Силиванов

Силиванов (статус: Посетитель), 27 июня 2011, 10:32 [#4]:

не проходит
min@y™

min@y™ (статус: Доктор наук), 27 июня 2011, 10:35 [#5]:

Цитата (Силиванов):

не проходит

Дык, это, смотря куды сувать! :)
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!

27 июня 2011, 10:51: Вопрос перемещён из тематического раздела Pascal » Программирование на Pascal в раздел Лабораторный практикум » Pascal модератором min@y™

Толяныч

Толяныч (статус: 4-ый класс), 27 июня 2011, 11:10 [#6]:

min@y™: 5+ ! :-)
bugmenot

bugmenot (статус: 3-ий класс), 27 июня 2011, 11:32 [#7]:

и у кринку ни лизе!
виконання програми розпочинається з того самого мiсця, де призупинилося.

Gooddy

Gooddy (статус: 3-ий класс), 27 июня 2011, 16:50 [#8]:

Ох ёп. Сори. Не заметил что всех чётных. Правь:

  for i:=1 to 8 do
    WriteLn( 'Factorial ', i, ' = ', Factorial(i) );

  for i:=1 to 4 do
    WriteLn( 'Factorial ', i*2, ' = ', Factorial(i*2) );
Чисти код! Чисти код! Чисти код!
min@y™

min@y™ (статус: Доктор наук), 27 июня 2011, 16:56 [#9]:

Цитата (Gooddy):

Ох ёп. Сори. Не заметил что всех чётных. Правь:

А теперь снова перечитай вопрос и заметь, что надо вычислить сумму.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Gooddy

Gooddy (статус: 3-ий класс), 27 июня 2011, 17:41 [#10]:

-_-
Чисти код! Чисти код! Чисти код!
Gooddy

Gooddy (статус: 3-ий класс), 27 июня 2011, 17:42 [#11]:

var
  i, Sum: Integer;
 
function Factorial( n: Integer ): Integer;
var
  i: Integer;
begin
  Result := 1;
  for i:=2 to n do
    Result := Result * i;
end;
 
begin
  Sum := 0;
  for i:=1 to 4 do
    Sum := Sum + Factorial( i * 2 ) ;
  WriteLn( 'Sum = ', Sum );
  ReadLn; 
end.
Чисти код! Чисти код! Чисти код!
Gooddy

Gooddy (статус: 3-ий класс), 27 июня 2011, 18:17 [#12]:

Поспешишь - людей насмешишь. В который раз подтвердилось.
Чисти код! Чисти код! Чисти код!
bugmenot

bugmenot (статус: 3-ий класс), 27 июня 2011, 19:01 [#13]:

Цитата (Gooddy):

for i:=1 to 4 do
Sum := Sum + Factorial( i * 2 ) ;

if not Odd(X) же!
виконання програми розпочинається з того самого мiсця, де призупинилося.

Gooddy

Gooddy (статус: 3-ий класс), 28 июня 2011, 06:44 [#14]:

bugmenot: так быстрее поправить было. Да и работает так же.
Чисти код! Чисти код! Чисти код!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:40
Выполнено за 0.05 сек.