हमें K समदूरस्थ बिंदुओं वाले एक वृत्त की परिधि पर दिया गया है। साथ ही हमें दो बिंदु A और B दिए गए हैं। लक्ष्य इन बिंदुओं का उपयोग करके संभव त्रिभुजों की संख्या गिनना है जैसे कि उनके अंदर एक अधिक कोण ACB (90 डिग्री से अधिक कोण) हो। बिंदु A और B ऐसे हैं कि A < B।

यहां K=8, A=2, B=5, बिंदुओं की गिनती=2 (C,C') जैसे कि कोण LACB, LAC'B अधिक हैं।
आइए उदाहरणों से समझते हैं
इनपुट - k=10, A=2, B=4
आउटपुट - 'k' समदूरस्थ बिंदुओं वाले वृत्त में दो दिए गए बिंदुओं के बीच अधिक कोणों की गिनती - 1
व्याख्या - बिंदु C=3 होगा
इनपुट - k=12, A=2, B=10
आउटपुट - 'k' समदूरस्थ बिंदुओं वाले वृत्त में दो दिए गए बिंदुओं के बीच अधिक कोणों की गिनती - 3
नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण
यह देखा जा सकता है कि A और B के बीच जितना छोटा चाप होगा, बिंदु केवल उस चाप पर होंगे।
दोनों चापों की गणना करें और यदि वे समान लंबाई के हैं तो ऐसा कोई त्रिभुज संभव नहीं है, 0 वापस करें। अन्यथा गिनती को छोटे चाप के रूप में सेट करें जो बिंदुओं के संदर्भ में दूरी है।
- इनपुट को पूर्णांक k, point_a और point_b के रूप में लें।
- फ़ंक्शन Obtuse_angle_circle(int point_a, int point_b, int k) सभी चर लेता है और 'k' समदूरस्थ बिंदुओं वाले वृत्त में दो दिए गए बिंदुओं के बीच अधिक कोणों की गिनती वापस करता है
- प्रारंभिक गिनती 0 लें।
- पहले चाप की गणना arc_1 = (point_b - point_a) - 1 के रूप में करें। (b>a)
- दूसरे चाप की गणना (k - point_b) + (point_a - 1) के रूप में करें।
- यदि दोनों चाप समान हैं तो 0 वापस करें क्योंकि ऐसा कोई बिंदु संभव नहीं है।
- यदि वे असमान हैं तो गिनती को दोनों के न्यूनतम के रूप में अपडेट करें क्योंकि सभी बिंदु उस पर होते हैं।
- परिणाम के रूप में गिनती वापस करें।
उदाहरण
#include <bits/stdc++.h>
using namespace std;
int Obtuse_angle_circle(int point_a, int point_b, int k){
int count = 0;
int arc_1 = (point_b - point_a) - 1;
int arc_2 = (k - point_b) + (point_a - 1);
if (arc_1 == arc_2){
return 0;
}
count = min(arc_1, arc_2);
return count;
}
int main(){
int k = 10;
int point_a= 1;
int point_b = 4;
cout<<"Count of obtuse angles in a circle with 'k' equidistant points between 2 given points are: "<<Obtuse_angle_circle(point_a, point_b, k);
return 0;
}
आउटपुट
Count of obtuse angles in a circle with 'k' equidistant points between 2 given points are: 2