Computer >> Máy Tính >  >> Lập trình >> C ++

Kiểm tra xem một vòng tròn đã cho có nằm hoàn toàn bên trong vòng được tạo bởi hai vòng tròn đồng tâm trong C ++ hay không

Chúng tôi có hai vòng tròn. Trung tâm của cả hai đều nằm ở điểm gốc. Bán kính của hai đường tròn này đã cho. Chúng là r và R, R> r. Một vòng tròn khác cũng có mặt. Bán kính của nó (r1) và tâm điểm đã cho, chúng ta phải kiểm tra xem điểm đó có nằm trong vòng được tạo bởi hai đường tròn đầu tiên hay không.

Kiểm tra xem một vòng tròn đã cho có nằm hoàn toàn bên trong vòng được tạo bởi hai vòng tròn đồng tâm trong C ++ hay không

Chúng ta có thể giải quyết điều này bằng cách sử dụng định lý Pitago. tính khoảng cách từ tâm của đường tròn và điểm gốc. Sau đó nếu (khoảng cách - r1)> =r và (khoảng cách - r1) <=R, nếu cả hai đều đúng, thì vòng tròn nằm bên trong vòng.

Ví dụ

#include <iostream>
#include <cmath>
using namespace std;
bool isInside(int r, int R, int r1, int x, int y) {
   int dis = sqrt(x*x+y*y);
   return (dis-r1 >= R && dis+r1 <= r);
}
int main() {
   int r = 8, R = 4, r1 = 2, x = 6, y = 0;
   if (isInside(r, R, r1, x, y))
      cout << "Circle is inside the ring." << endl;
   else
      cout << "Circle is not inside the ring." << endl;
}

Đầu ra

Circle is inside the ring.