optikaleks7
?>

Скаких слов начинается описание фактов: я для того я знаю, я знаю,

Информатика

Ответы

Jannadon77
Я знаю, что  это правильный ответ
                                                                                                                                                                     
                                       
lpcck2212
1. Вот так это пишется с функцией

// PascalABC.NET 3.1, сборка 1200 от 13.03.2016
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('k=',ArrRandom(ReadInteger('n='),1,999).Println.
    Where(x->IsPrime(x)).Count)
end.

Тестовое решение:
n= 10
401 828 780 444 694 965 23 341 673 875
k=3

2. А вот так это пишется с процедурой

// PascalABC.NET 3.1, сборка 1200 от 13.03.2016
procedure IsPrime(n:integer; var res:boolean);
begin
  if n<4 then res:=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;
    res:=not found
    end
end;

begin
  var a:=ArrRandom(ReadInteger('n='),1,999); a.Println;
  var k:=0;
  var prime:boolean;
  foreach var e in a do begin
    IsPrime(e,prime);
    if Prime then Inc(k)
    end;
  Writeln('k=',k)
end.

Тестовое решение:
n= 12
199 43 71 365 417 904 170 212 694 103 161 689
k=4
chernovol1985255
Var
  i, k, n1, n2: integer;

begin
  n1 := 0;
  n2 := 0;
  {предполагается, что нумерация домов начинается с 1}
  writeln('Вводите количество жителей в порядке возрастания номеров домов');
  writeln('Окончание ввода - по отрицательному значению');
  i := 1;
  repeat
    read(k);
    if k > 0 then
    begin
      if i mod 2 = 0 then n2 := n2 + k
      else n1 := n1 + k;
      i := i + 1
    end
  until k < 0;
  write(#13#10, 'Большее количество людей проживает на ');
  if n1 > n2 then writeln('левой стороне улицы.')
  else writeln('правой стороне улицы.')
end.

Тестовое решение:

Вводите количество жителей в порядке возрастания номеров домов
Окончание ввода - по отрицательному значению
13 56 25 31 98 35 72 64 -1

Большее количество людей проживает на левой стороне улицы.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Скаких слов начинается описание фактов: я для того я знаю, я знаю,
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

polotovsky
Xeniya91
Olesyamilenina8
yusliva
ldstroy
ВасилийМалюга152
sawa-msk
Николаевна
janepustu
МАМОНОВА-андрей
dedald
Georgievich-Zamudinovna2003
Andreevich440
fellybrossme
alex091177443