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

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

Показать ответ
Ответ:
irinka218
irinka218
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 оценок)
Ответ:
наталя09
наталя09
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-бота