1) Написать программу, находящую для натурального числа все его натуральные делители. 2)...

0 голосов
30 просмотров

1) Написать программу, находящую для натурального числа все его натуральные делители.

2) Написать программу, вычисляющую наибольший общий делитель двух натуральных чисел.


Информатика (29 баллов) | 30 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Задача №1
//PascalABC.NET (версия 3.1, сборка 1196 от 09.03.2016)
Var n, i: integer; 
Begin                   
writeln ('Введите число');
readln(n);                                    
writeln('Делители числа:');  
for i := 1 to n div 2 do     
  if (n mod i) = 0 then begin 
    write(i,'  ');
  end;         
End.       

Задача №2 (алгоритм не очень шустрый, но работает и понятный)
//PascalABC.NET (версия 3.1, сборка 1196 от 09.03.2016)
var
  a, b, x, y, nod: integer;

begin
  writeln('Введите a,b');
  readln(a, b);
  x := a;y := b;
  while x <> y do
    if x > y
      then x := x - y
    else y := y - x;
  nod := x;
  writeln('NOD(', a, ',', b, ')=', nod);
end.


(13.9k баллов)