В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
AlminaLaipanova
AlminaLaipanova
13.12.2020 23:16 •  Информатика

Ввести n чисел и найти сумму простых чисел в паскале

Показать ответ
Ответ:
Эллада20029
Эллада20029
03.08.2020 14:51
// PascalABC.NET 3.2, сборка 1467 от 02.06.2017
// Внимание! Если программа не работает, обновите версию!

function IsPrime(n:integer):boolean;
begin
  if n<4 then Result:=True
  else begin
    var found:=(n mod 2=0);
    var p:=3;
    while (not found) and (sqr(p)<=n) do
      begin found:=(n mod p=0); p+=2 end;
    Result:=not found
    end
end;

begin
  Writeln('S=',ReadSeqInteger('Вводите:',ReadInteger('n='))
      .Where(m->IsPrime(m) and (m>0)).Sum)
end.

Пример
n= 6
Вводите: 20 17 31 15 19 7 9
S=74
0,0(0 оценок)
Ответ:
kristinarepina
kristinarepina
03.08.2020 14:51
Function P(A:integer):boolean;
Var d,K:integer;
Begin
P:=true;
if A < 2 then P:=false
else
   if A > 3 then
      if A mod 2 = 0 then P:=false
      else
         Begin
         K:=Trunc(Sqrt(A));
         d:=3;
         While d <= K do
            Begin
            if A mod d = 0 then P:=false;
            d:=d+2
            End;
         End;
End;
Var
   A,n:integer;
   S:real;
Begin
S:=0;
Write('n = ');ReadLn(n);
Write('Введите n чисел: ');
For n:= 1 to n do
    Begin
    Read(A);
    if P(A) then S:=S+A;
    End;
Write('S = ',S)
End.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота