Я ЧАЙНИК. Помогите пожалуйста, не знаю даже от чего отталкиваться

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, Medved, dr.Jekill, MOTOCoder

Ответить
FreeLifeStyler
Сообщения: 2
Зарегистрирован: 14 мар 2007, 01:02

Я ЧАЙНИК. Помогите пожалуйста, не знаю даже от чего отталкиваться

Сообщение FreeLifeStyler » 14 мар 2007, 01:20

http://nuclearworldwarsite.com/beginning.html



Задача простая, но додуматься не могу, никак до конца не понять, как использовать некоторые операторы, как всё это привязывать друг к другу. Покажите, пожалуйста, как её решить.
Вычислить х1+х2+...+х20, если последовательность х1, х2...хk образована по следующему законух1=х2=х3=1,
Xi=i-1 -1)*(I+3)+Xi-3*(Xi-2+4) ,i=4,5,6...
То что нежирное и подчёркнутое в формуле-это индекс...Спасибо Вам огромное, что хотя бы это прочитали..

Аватара пользователя
Колядин Максим
Сообщения: 285
Зарегистрирован: 16 ноя 2006, 19:09
Откуда: Seattle, WA
Контактная информация:

Re: Я ЧАЙНИК. Помогите пожалуйста, не знаю даже от чего отталкиваться

Сообщение Колядин Максим » 14 мар 2007, 01:38

Каким языком программирования пользуешься?
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...

BBB
Сообщения: 1272
Зарегистрирован: 27 дек 2005, 13:37

Re: Я ЧАЙНИК. Помогите пожалуйста, не знаю даже от чего отталкиваться

Сообщение BBB » 14 мар 2007, 09:39

Например, такой вариант. Насчет красоты и оптимальности - не ручаюсь, но работать должен.

Только там такая охрененная (большая, в смысле) сумма получается, что и longint, и даже real переполняются. Пришлось использовать самый "вместительный" тип extended.

Код: Выделить всё

const  K = 20;
var Sum,
    X_minus_3,
    X_minus_2,
    X_minus_1,
    X_next  : extended;
    iLoop : integer;
begin
  X_minus_1 := 1;
  X_minus_2 := 1;
  X_minus_3 := 1;

 { Сумма первых трех членов последовательности }
  iSum := iX_minus_1 + iX_minus_2 + iX_minus_3;


  for iLoop:=4 to K do
    begin
     { считаем очередной (iLoop - й) член последовательности }
      X_next := (X_minus_1 -1) * (iLoop + 3) + X_minus_3 * (X_minus_2 + 4);
     { добавляем (iLoop - й) член последовательности к сумме }
      Sum := Sum + X_next;

     { Готовимся к следующему проходу по циклу }
      X_minus_3 := X_minus_2;
      X_minus_2 := X_minus_1;
      X_minus_1 := X_next;
    end;

  writeln ('Сумма первых ', K, ' членов ряда равна: ', iSum);

end.

Хыиуду
Сообщения: 2388
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Re: Я ЧАЙНИК. Помогите пожалуйста, не знаю даже от чего отталкиваться

Сообщение Хыиуду » 14 мар 2007, 10:17

Да, здесь начинаешь ценить умение Питона работать с любыми по длине числами :)
Вот последовательность:
1
1
1
5
25
153
1209
13589
307881
19512737
4398489361
6060384084141
85905351169635825
26657737592601886182881
520619822837068305690957031089
2290042317610384510350413867880110352533
13878546622736380460988534833405532160494316077311977
1192241425683707941706745888098442821614130062917532076065348050638361
31782459072994995475792700656896763029935442500247180740797212373906026995431545893896726713
16546578211909032185463327908253767911178062576579658374837161838920513973788836420792449917274442425752823939166044731845
А вот сумма:
16546578211909032185463327908285550370251057572055452267735484285658405001581594438646572050444249135657797722312995020328
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.

FreeLifeStyler
Сообщения: 2
Зарегистрирован: 14 мар 2007, 01:02

Re: Я ЧАЙНИК. Помогите пожалуйста, не знаю даже от чего отталкиваться

Сообщение FreeLifeStyler » 14 мар 2007, 20:27

http://thenuclearworldwar.com/usa.html



Используется паскаль, хотя тут вроде и так разобрались.
ОГРОМНОЕ СПАСИБО за решение!!!! Буду учиться =).

Ответить