Xooocc
21.04.2022 11:47

С. язык паскаль.
дима и валера участвуют в игре «отгадай число». дима загадал число n. валера на листочке написал k чисел, которые может загадать дима. проверьте, валера угадал или нет задуманное число димы. если угадал – вывести «yes», иначе – «no».
формат ввода: пример ввода: пример ввода:
n - загаданное число димы
k - количество чисел, которые написал валера (k< =50)
a[1] - первое число валеры
a[2] - второе число валеры
a[3] - третье число валеры

a[k] - k-ое число валеры
это yes
3
14
8
9
3
20
15
16
8
1
0
15
6
7
8
9

это no
12
9
11
10
15
16
18
17
14
13
1
формат вывода: пример вывода: пример вывода:
yes/no - угадал валера число / не угадал yes no
каль. заранее !

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
svetik83
21.12.2021 09:09
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
0,0(0 оценок)
Ответ:
рвовттатс
05.07.2021 23:48
// PascalABC.NET 3.2, сборка 1344 от 22.11.2016
// Внимание! В других версиях работа не гарантируется!
begin
  var a:=ArrRandom(15,-20,20); a.Println;
  a:=a.Select(x->x.IsOdd?x*3:x div 2).ToArray; a.Println
end.

Пример
-1 -2 8 8 19 -12 13 -11 -7 -10 3 5 -18 4 3
-3 -1 4 4 57 -6 39 -33 -21 -5 9 15 -9 2 9

А вот так это же самое обычно делают в школах...
const
  n=15;
var
  a:array[1..n] of integer;
  i:integer;
begin
  Randomize;
  for i:=1 to n do begin
    a[i]:=Random(41)-20;
    Write(a[i],' ')
    end;
  Writeln;
  for i:=1 to n do begin
    if a[i] mod 2=0 then a[i]:=a[i] div 2
    else a[i]:=a[i]*3;
    Write(a[i],' ')
    end;
  Writeln
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота