Помогите решить задачку по информатике, Паскаль 10 класс

Помогите решить задачу по информатике, Паскаль 10 класс

Задать свой вопрос
1 ответ
\displaystyle \sum_k=1^10\sum_n=1^k \frac\sin(kn)k!= \sum_k=1^10 \left(\frac1k! \sum_n=1^k \sin(kn)\right)
Внешний цикл образует скопление "наружной" суммы, внутренний - скопление "внутренней", т.е. суммы sin(nx).

// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программка не работает, обновите версию!

begin
  var s1:=0.0;
  var fact:=1.0;
  for var k:=1 to 10 do begin
    fact:=fact*k;
    var s2:=0.0;
    for var n:=1 to k do s2:=s2+sin(n*k);
    s1:=s1+s2/fact
    end;
  Writeln('S=',s1)
end.

Результат
S=0.932015550043079

Можно еще дать на 1-ый взгляд менее наглядное, но более краткое современное решение в стиле многофункционального программирования (приблизительно так пишут на языке Python, но у нас все же Паскаль)

begin
  var fact:integer-gt;real; begin fact:=n-gt;n=1?1.0:n*fact(n-1) end;
  Writeln('S=',Range(1,10).Select(k-gt;Range(1,k).Select(n-gt;sin(n*k))
      .Sum/fact(k)).Sum)
end.
Эвелина Садрижанова
Громадное спасибо!!!
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт