М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Nemosing
Nemosing
02.03.2021 19:42 •  Информатика

На c++ 98 окончательно поняв, что статистика – это судьба, алексей отправился на улицы с твердым намерением провести новое исследование! что именно исследовать, алексей решит потом, поэтому пока он хочет только отобрать людей для будущих открытий. но на всякий случай алексей решил быть избирательным! ему нужны только люди возрастом не моложе a, но не старше b лет, при этом каждый k-ый из них не подходит (просто алексей так решил). к сожалению, у первых x человек алексей забыл спросить контактные данные, а последние y людей ему просто не понравились. поэтому работу с ними он продолжить также не сможет. дан массив, числа в котором обозначают возраста людей. алексею определить индексы и возраста тех, с кем алексей будет работать, если известно, что это люди не моложе a лет и не старше b, номер которых превышает x, но не входит в последние y номеров и при этом номер не делится на k. формат входных данных в первой строке вводится n - количество о людей (1 < n < 100) в следующей строке n чисел si, обозначающих возраста людей (1 < si < 100) в третьей строке вводятся числа a, b, x, y, k, где а - минимальный возраст для исследования (1 < а < 100) b - максимальный возраст для исследования (а < b < 100) x - номер, после которого анализируются возраста (1 < x < n) y - количество возрастов в конце последовательности, которые не анализируются (1 < y < n) k - признак отбора. (1 < k < 100)

👇
Открыть все ответы
Ответ:
Unikorn111
Unikorn111
02.03.2021
PascalABC.NET 3.4.0, сборка 1672 от 10.06.2018
Внимание! Если программа не работает, обновите версию!

Самое глупое, что можно было придумать - использовать цикл с предусловием while ... do там, где имеется заданное число повторений:

begin
  var n:=ReadInteger('n=');
  var (s,i):=(0.0,1);
  while i<=n do begin
    s+=1/Sqr(2*i+1);
    i+=1
    end;
  Writeln('S=',s)
end.

Пример
n= 10
S=0.210988884817533

Гораздо естественнее тут выглядит цикл со счетчиком:

begin
  var n:=ReadInteger('n=');
  var s:=0.0;
  for var i:=1 to n do
    s+=1/Sqr(2*i+1);
  Writeln('S=',s)
end.

А если использовать современные возможности программирования в PascalABC.NET, решение вообще в одну строчку:

begin
  Writeln('S=',SeqGen(ReadInteger('n='),t->1/Sqr(2*t+1),1).Sum)
end.
4,6(67 оценок)
Ответ:
velvis2050
velvis2050
02.03.2021
PascalABC.NET 3.4.0, сборка 1672 от 10.06.2018
Внимание! Если программа не работает, обновите версию!

Самое глупое, что можно было придумать - использовать цикл с предусловием while ... do там, где имеется заданное число повторений:

begin
  var n:=ReadInteger('n=');
  var (s,i):=(0.0,1);
  while i<=n do begin
    s+=1/Sqr(2*i+1);
    i+=1
    end;
  Writeln('S=',s)
end.

Пример
n= 10
S=0.210988884817533

Гораздо естественнее тут выглядит цикл со счетчиком:

begin
  var n:=ReadInteger('n=');
  var s:=0.0;
  for var i:=1 to n do
    s+=1/Sqr(2*i+1);
  Writeln('S=',s)
end.

А если использовать современные возможности программирования в PascalABC.NET, решение вообще в одну строчку:

begin
  Writeln('S=',SeqGen(ReadInteger('n='),t->1/Sqr(2*t+1),1).Sum)
end.
4,5(91 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ