1) написать программу, находящую для натурального числа все его натуральные делители. 2) написать программу, вычисляющую наибольший общий делитель двух натуральных чисел.
Задача №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.
//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.