Пользователь вводит с клавиатуры n- чисел определить: Сколько среди них простых чисел. Наибольший общий делитель всех этих чисел. Число у которого делителей боль, чем у всех остальных. ПАСКАЛЬ ПРОЦЕДУРЫ И ФУНКЦИИ!!

Пользователь вводит с клавиатуры n- чисел определить: Сколько среди них простых чисел. Наибольший общий делитель всех этих чисел. Число у которого делителей боль, чем у всех остальных. ПАСКАЛЬ ПРОЦЕДУРЫ И ФУНКЦИИ!!
Гость
Ответ(ы) на вопрос:
Гость
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. Нахождение НОД всех чисел это нод(нод(А, Б), В) и т.д. Остальное думаю понятно.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы