Практикум по решению задач на ЭВМ. Тарова И.Н - 60 стр.

UptoLike

Тарова И.Н., Терехов Ю.П., Масина О.Н., Скоков А.В.
Каноническое разложение
9) Дано натуральное число n. Найти все его простые делители.
program prost_deliteli(input,output);
uses CRT;
label 1;
var N:integer;{исходное число}
var i:integer; {делители числа N}
var p1:boolean;
{процедура для распознования простого числа}
procedure prost1(var num:integer;var p:boolean);
var i,k:integer;{объявление локальных переменных в процедуре}
begin
k:=0;
p:=false;
for i:=2 to num-1 do
if num mod i=0 then k:=k+1; {счетчик количества делителей}
if k=0 then
begin
p:=true;
writeln('число',num,'-простое');
end;
end;{конец описания процедуры}
begin
clrscr;
write('Введите для проверки число N: ');
readln(N);
prost1(N,p1);
if p1=true then goto 1; {анализ исходного числа
на простоту}
writeln('вывод простых делителей числа N ');
for i:=2 to N do
if N mod i=0 then prost1(i,p1);
1: readln;
end.
10) Определить является ли данное число простым.
60
                               Тарова И.Н., Терехов Ю.П., Масина О.Н., Скоков А.В.


                       Каноническое разложение
9) Дано натуральное число n. Найти все его простые делители.

  program prost_deliteli(input,output);
  uses CRT;
  label 1;
  var N:integer;{исходное число}
  var i:integer; {делители числа N}
  var p1:boolean;
   {процедура для распознования простого числа}
  procedure prost1(var num:integer;var p:boolean);
  var i,k:integer;{объявление локальных переменных в процедуре}
     begin
        k:=0;
        p:=false;
        for i:=2 to num-1 do
           if num mod i=0 then k:=k+1; {счетчик количества делителей}
           if k=0 then
              begin
                p:=true;
                writeln('число',num,'-простое');
              end;
     end;{конец описания процедуры}
  begin
     clrscr;
     write('Введите для проверки число N: ');
     readln(N);
     prost1(N,p1);
     if p1=true then goto 1; {анализ исходного числа на простоту}
     writeln('вывод простых делителей числа N ');
     for i:=2 to N do
        if N mod i=0 then prost1(i,p1);
     1: readln;
  end.




10) Определить является ли данное число простым.


                                    60