Правильно ли реализовано решение?
имеется задание:
Решить задачу, используя общий сегмент памяти. Для это необходимо написать 2 программы:
- решает задачу и помещает результат в общий сегмент памяти;
- читает информацию из общего сегмента памяти и выводит её на экран.
Задача:
Вводятся целые числа a и b. Пусть у треугольника ABC координаты A=(0,0), B=(a,b), а обе координаты C=(x,y) - целые числа, и площадь треугольника ABC не равна нулю. Какую минимальную площадь может иметь треугольник ABC?
Верно, ли я начал данную задачу решать?
#include <iostream>
/*
По заданным координатам трех вершин мы можем найти площадь треугольника ABC
Sabc=(bx-ay)/2
Если a=0, то минимальная площадь Smin=b/2, если b=0, то Smin=a/2.
Если же обе координаты отличны от нуля, то из алгоритма Евклида для нахождения НОД(a,b)=(a,b),
следует существование таких целых x и y, что ABS(bx-ay)=(a,b),
и именно эти x и y минимизируют площадь треугольника ABC.
*/
int gcd(int a, int b) {
if (b == 0) return a;
else return gcd(b, a % b);
}
int main() {
std::cout << gcd(2, 1) * 0.5 << std::endl;
}