Постановка задачи:

Найти наибольший общий делитель (НОД) двух введенных натуральных чисел, используя алгоритм Евклида (алгоритм Евклида: вычитаем из  большего меньшее до тех пор, пока они не сравняются, полученное в результате число и есть НОД).

Решение:

Наибольшим общим делителем (НОД) двух целых чисел называется такое наибольшее по модулю число, которое делит эти два числа. Так как  натуральные числа это положительные целые числа, то при вводе двух чисел а и b должно проверяться условие, что они больше нуля.Программный код:

#include <iostream.h> // библиотеки ввода вывода

#include <conio.h>

void main()

{

const int nmax=500;   //  максимальная граница ввода

int a, b;  // натуральные числа

int result; // НОД

m:cout << «Input  0<a<=» << nmax << «\n\r»;

cin >> a;

if ((a>nmax)||(a<=0)) goto m;    //контроль ввода a

m1:cout << «Input  0<b<=» << nmax << «\n\r»;

cin >> b;

if ((b>nmax)||(b<=0)) goto m1;    //контроль ввода b

// Нахождение НОД по Алгоритму Евклида

while(a!=b)

{

if( a>b )

{

a = a-b;

}

else

{

b = b-a;

}

}

result = b;

cout <<»result:» <<   result<< «\n\r»;

getch();

return;

}