Напомним алгоритм Евклида: пока два натуральных числа не равны, в качестве большего числа бери разность большего и меньшего чисел. Когда числа станут равны в качестве наибольшего общего делителя можно взять любое из них.
#include<iostream.h> main () { int x,y; cout << "Задайте два натуральных числа: "; cin >> x >> y; while (x!=y) { if (x>y) x = x - y; else y = y - x; } cout << "НОД этих чисел равен " << x; }