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

Пользователь вводит с клавиатуры n- чисел определить: сколько среди них простых чисел. наибольший общий делитель всех этих чисел. число у которого делителей боль, чем у всех остальных. паскаль процедуры и

Ответ:
Polina15505
Polina15505
13.08.2020 19:46
Program Project1;

var m:array of integer; n, i, old, Simple:integer;

function nod (var a,b: integer): integer;
var c: integer;
begin
  repeat
    if a > b then
      a := a mod b
    else
      b := b mod a;
  until (a = 0) or (b = 0);
  nod := a + b;
end;

function IsSimple(const n: Integer): Boolean;
var i: Integer;
begin
  IsSimple:=True;
  for i:=0 to Length(m)-1 do begin
    if (n mod m[i])=0 then begin
      IsSimple:=False;
      Break;
    end;
  end;
end;

begin
  repeat
    write('n: '); readln(n);
    SetLength(m, Length(m)+1);
    m[Length(m)-1]:=n;
  until n<=0;
  SetLength(m, Length(m)-1);
 
  old:=nod(m[0], m[1]);
  for i:=2 to Length(m)-1 do
    old:=nod(old, m[i]);
  Writeln('Nod: ', old);

  simple:=0;
  for i:=0 to Length(m)-1 do
    if IsSimple(m[i]) then
      inc(simple);
  Writeln('Simple: ', simple);

  readln;
end.

Нахождение НОД всех чисел это нод(нод(А, Б), В) и т.д. Остальное думаю понятно.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?