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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2012, 19:08   #1
Dimaska931
Пользователь
 
Регистрация: 06.11.2012
Сообщений: 10
По умолчанию Дано натуральное число n. Вычислить S

Дано натуральное число n. Вычислить S=1*2+2*3*4+...+n*(n+1)...2n. Помогите пожалуйста написать программу, я совсем новичок...
Dimaska931 вне форума Ответить с цитированием
Старый 06.11.2012, 19:10   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
s:=0;
for i:=1 to n do
begin
p:=1;
for j:=i to 2*i do
p:=p*j;
s:=s+p;
end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 06.11.2012, 20:01   #3
Dimaska931
Пользователь
 
Регистрация: 06.11.2012
Сообщений: 10
По умолчанию Так нормально?)

Код:
Program chislo;
Uses crt;
Var p,
    s,
    i,
    j,
    n:integer;
Begin
Clrscr;
Writeln('Vvedite n');
    Readln(n);
s:=0;
for i:=1 to n do
begin
p:=1;
for j:=i to 2*i do
p:=p*j;
s:=s+p;
end;
writeln(s);
Readln
End.


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 07.11.2012 в 00:57.
Dimaska931 вне форума Ответить с цитированием
Старый 06.11.2012, 21:03   #4
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Код:
Var p,
s,
i,
j,
n:integer;
можно было и в одну строчку. А так - все верно. Только код на форуме надо оформлять кнопкой # над полем ввода сообщения
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 07.11.2012, 09:17   #5
Dimaska931
Пользователь
 
Регистрация: 06.11.2012
Сообщений: 10
Радость

А как через while сделать?
Dimaska931 вне форума Ответить с цитированием
Старый 07.11.2012, 09:26   #6
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Код:
i:=1;
While i<= n do begin
  p:=1;
  j:=1;
  while j<=2*i do begin
    p:=p*j;
    inc(j);
  end;
  s:=s+p;
  inc(i);
end;
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 07.11.2012, 10:17   #7
Dimaska931
Пользователь
 
Регистрация: 06.11.2012
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
Код:
i:=1;
While i<= n do begin
  p:=1;
  j:=1;
  while j<=2*i do begin
    p:=p*j;
    inc(j);
  end;
  s:=s+p;
  inc(i);
end;
Так неправильно считать начинает, при n=3, s должно быть равно 386
Dimaska931 вне форума Ответить с цитированием
Старый 07.11.2012, 10:29   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

j нужно начинать с i:
Код:
    p:=1;
    j:= i;
    while j<=2*i do begin

полностью код:
Код:
var s, p : longint;
  i,j, n : integer;
begin
  Readln(n);
  i:=1;
  s:=0;
  While i<= n do begin
    p:=1;
    j:=i;
    while j<=2*i do begin
      p:=p*j;
      inc(j);
    end;
    s:=s+p;
    inc(i);
  end;
  WriteLn(' s = ',s);
  Readln
end.
функция факториала (и близкие ей по духу) растут слишком быстро, чтобы для этого хватило целочисленных типов данных.
поэтому либо довольтствуйтесь тем, что n у Вас может быть не более 7 (при n=7 s = 125230946),
либо делайте s и p переменными вещественного типа (var s, p : extended )

Последний раз редактировалось Serge_Bliznykov; 07.11.2012 в 10:33.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.11.2012, 15:26   #9
Dimaska931
Пользователь
 
Регистрация: 06.11.2012
Сообщений: 10
По умолчанию

спасибо большое всем, все работает!)
Dimaska931 вне форума Ответить с цитированием
Старый 07.11.2012, 18:04   #10
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
j нужно начинать с i:
Угу, скосячил я
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дано натуральное число n. Вычислить: Petrovich83 Помощь студентам 2 08.04.2011 12:14
Задача на Pascal. Дано натуральное число n вычислить y=2*4*6...(2n) Xe0n Помощь студентам 14 15.03.2011 21:24
Задание: Дано натуральное число n. Вычислить y = 1*3*5*...* 2n-1 Тапочек Помощь студентам 2 26.02.2011 18:57
Вычислить выражение, если дано натуральное число elemigrante Помощь студентам 2 26.02.2010 14:15
Задача: Дано натуральное число n. Вычислить выражение ... NoSiK Помощь студентам 26 21.11.2009 14:46