সবচেয়ে ছোট সার্কেল গল্ফ!


29

সমস্যাটি:

কার্টেসিয়ান বিমানের একটি খালি খালি বিন্দুতে সেটটি দেওয়া, এমন ক্ষুদ্রতম বৃত্তটি সন্ধান করুন যা এগুলি সমস্ত ঘিরে রেখেছে ( উইকিপিডিয়া লিঙ্ক )।

এই সমস্যাটি তুচ্ছ যদি পয়েন্টের সংখ্যা তিন বা তার চেয়ে কম হয় (যদি একটি বিন্দু থাকে তবে বৃত্তটির শূন্যের ব্যাসার্ধ থাকে; যদি দুটি পয়েন্ট থাকে তবে বিন্দুতে যোগ হওয়া রেখাংশটি বৃত্তের ব্যাস হয়; যদি সেখানে থাকে) তিনটি (নন-কোলাইনার) পয়েন্ট, একটি বৃত্তের সমীকরণ পাওয়া সম্ভব যা তাদের সকলকে স্পর্শ করে যদি তারা একটি অবিচ্ছিন্ন ত্রিভুজ গঠন করে, বা এমন একটি বৃত্ত যা কেবল দুটি পয়েন্টগুলিকে স্পর্শ করে এবং ত্রিভুজটি যদি অবজেক্ট হয় তবে তৃতীয়টি আবদ্ধ করে)) সুতরাং, এই চ্যালেঞ্জের স্বার্থে, পয়েন্টের সংখ্যা তিনটির বেশি হওয়া উচিত।

চ্যালেঞ্জ:

  • ইনপুট: 4 বা ততোধিক অ-কলিনিয়ার পয়েন্টের একটি তালিকা। পয়েন্টগুলিতে এক্স এবং ওয়াই সমন্বয় হওয়া উচিত; স্থানাঙ্কগুলি ভাসমান হতে পারে। চ্যালেঞ্জটি সহজ করতে, কোনও দুটি পয়েন্টের একই X স্থানাঙ্ক ভাগ করা উচিত নয়।
    উদাহরণ স্বরূপ:[(0,0), (2,1), (5,3), (-1,-1)]
  • আউটপুট: মানগুলির একটি টুপল (h,k,r), যেমন (এক্স-)2+ +(Y-)2=R2 হল ক্ষুদ্রতম বৃত্তের সমীকরণ যা সমস্ত পয়েন্টকে আবদ্ধ করে।

নিয়মাবলী:

  • আপনার প্রোগ্রামটি অনুসারে যে কোনও ইনপুট পদ্ধতি অনুসারে আপনি তা চয়ন করতে পারেন।
  • আউটপুট মুদ্রণ করা উচিত STDOUTবা কোনও ফাংশন দ্বারা ফিরে আসতে হবে ।
  • "সাধারণ", সাধারণ উদ্দেশ্য, ভাষাগুলিকে প্রাধান্য দেওয়া হয় তবে যে কোনও এসোলাং গ্রহণযোগ্য।
  • আপনি ধরে নিতে পারেন যে পয়েন্টগুলি কলিনিয়ার নয়।
  • এটি কোড-গল্ফ, তাই বাইটের মধ্যে ছোট প্রোগ্রাম ins চ্যালেঞ্জ পোস্ট হওয়ার এক সপ্তাহ পরে বিজয়ী নির্বাচন করা হবে।
    • আপনার উত্তরের প্রথম লাইনে আপনি শিরোনাম হিসাবে ব্যবহার করেছেন ভাষা এবং বাইটের দৈর্ঘ্য অন্তর্ভুক্ত করুন: # Language: n bytes

পরীক্ষার কেস:

  • 1:
    • ইনপুট: [(-8,0), (3,1), (-6.2,-8), (3,9.5)]
    • আউটপুট: [-1.6, 0.75, 9.89]
  • 2:
    • ইনপুট: [(7.1,-6.9), (-7,-9), (5,10), (-9.5,-8)]
    • আউটপুট: [-1.73, 0.58, 11.58]
  • 3:
    • ইনপুট: [(0,0), (1,2), (3,-4), (4,-5), (10,-10)]
    • আউটপুট: [5.5, -4, 7.5]
  • 4:
    • ইনপুট: [(6,6), (-6,7), (-7,-6), (6,-8)]
    • আউটপুট: [0, -0.5, 9.60]

শুভ গল্ফিং !!!


সম্পর্কিত চ্যালেঞ্জ:



8
"যদি তিনটি (সহ-লিনিখরহীন) পয়েন্ট থাকে তবে এমন চেনাশোনাটির সমীকরণ পাওয়া সম্ভব যা তাদের সকলকে স্পর্শ করে" - তবে এটি ক্ষুদ্রতম সংলগ্ন বৃত্ত হতে পারে না। একটি অবরুদ্ধ ত্রিভুজের তিনটি শীর্ষেগুলির জন্য, ক্ষুদ্রতম সংলগ্ন বৃত্তটিই যার ব্যাসটি দীর্ঘতম দিক।
অ্যান্ডারস ক্যাসরগ

2
@ আরনাউল্ড আপনার মতোই পরীক্ষার কেস 2 এর জন্য, আমি কেন্দ্র পেয়েছি (-1.73, 0.58) এবং পরীক্ষার ক্ষেত্রে 3 (5.5, -4)।
রবিন রাইডার

@ আরনাউল্ড আপনার মন্তব্যের জন্য ধন্যবাদ। আমি সেই অনুযায়ী পোস্টটি সম্পাদনা করেছি
বারানকা

দুঃখিত, আরনাউল্ড উফ! প্রকৃতপক্ষে.
অ্যাল্ডো

উত্তর:


26

ওল্ফ্রাম ভাষা (গণিত) , 28 27 বাইট a

#~BoundingRegion~"MinDisk"&

এটি অনলাইন চেষ্টা করুন!

বিল্ট-ইনগুলি এখানে সুবিধাজনক। আউটপুট কেন্দ্র এবং ব্যাসার্ধ সহ একটি ডিস্ক অবজেক্ট। অন্যদের মতো, আমি ২ য় এবং তৃতীয় পরীক্ষার কেসগুলি প্রশ্নের চেয়ে আলাদা বলে খুঁজে পেয়েছি।

একটি বাইট সংরক্ষণের জন্য @lirtosiast ধন্যবাদ!

যদি কোনও তালিকা আউটপুট হিসাবে প্রয়োজন হয় তবে এটি 35 বাইটে করা যেতে পারে (অতিরিক্ত 8 বাইটের দামে) । এটি নির্দেশ করার জন্য @ রোমানকে ধন্যবাদ।


3
আমি অন্তর্নির্মিত একটি গণিতের প্রত্যাশা করছিলাম। তবে আমি গণিতের "ডিস্ক অবজেক্ট" থাকার আশা করছিলাম না।
রবিন রাইডার

আউটপুট ফর্ম্যাটটি সঠিকভাবে পেতে 36 বাইট :Append@@BoundingRegion[#,"MinDisk"]&
রোমান

20

জাভাস্ক্রিপ্ট (ES6),  298 ... 243  242 বাইট

একটি অ্যারে প্রদান করে [x, y, r]

p=>p.map(m=([c,C])=>p.map(([b,B])=>p.map(([a,A])=>p.some(([x,y])=>H(x-X,y-Y)>r,F=s=>Y=(d?((a*a+A*A-q)*j+(b*b+B*B-q)*k)/d:s)/2,d=c*(A-B)+a*(j=B-C)+b*(k=C-A),r=H(a-F(a+b),A-F(A+B,X=Y,j=c-b,k=a-c)))|r>m?0:o=[X,Y,m=r]),q=c*c+C*C),H=Math.hypot)&&o

এটি অনলাইন চেষ্টা করুন!

অথবা একটি ফর্ম্যাট সংস্করণ দেখুন

কিভাবে?

পদ্ধতি

প্রতিটি জোড় পয়েন্টের জন্য (একজন,বি) , আমরা বৃত্তটি তৈরি করি (এক্স,ওয়াই,R) যার ব্যাস একজনবি

X=Ax+Bx2,Y=Ay+By2,r=(AxBx2)2+(AyBy2)2

স্বতন্ত্র বিন্দুগুলির প্রতিটি ট্রিপল (A,B,C) , আমরা বৃত্তটি তৈরি করি (X,Y,r) যা ত্রিভুজ কেABC পরিবেষ্টিত করে ।

d=Ax(ByCy)+Bx(CyAy)+Cx(AyBy)
X=(Ax2+Ay2)(ByCy)+(Bx2+By2)(CyAy)+(Cx2+Cy2)(AyBy)2d
Y=(Ax2+Ay2)(CxBx)+(Bx2+By2)(AxCx)+(Cx2+Cy2)(BxAx)2d
r=(XAx)2+(YAy)2

(x,y)

(এক্স-এক্স)2+ +(Y-ওয়াই)2R

এবং আমরা শেষ পর্যন্ত সবচেয়ে ছোট বৈধ চেনাশোনাটি ফিরিয়ে দিই।

বাস্তবায়ন

(এক্স,ওয়াই)0কুই=সিএক্স2+ +সিY2

এক্স=(একজনএক্স2+ +একজনY2-কুই)(বিY-সিY)+ +(বিএক্স2+ +বিY2-কুই)(সিY-একজনY)2
ওয়াই=(একজনএক্স2+ +একজনY2-কুই)(সিএক্স-বিএক্স)+ +(বিএক্স2+ +বিY2-কুই)(একজনএক্স-সিএক্স)2

এফ(,)

  • (বিY-সিY,সিY-একজনY)এক্স
  • (সিএক্স-বিএক্স,একজনএক্স-সিএক্স)ওয়াই

এফগুলি(এক্স,ওয়াই)=0


হতে পারে নিউটনের ধরণের সংখ্যাসূচক অপ্টিমাইজারটি
লেখাই

আপনার কাছে কি সঠিকতার প্রমাণ আছে? আমি দেখতে পাচ্ছি যে এটি একটি প্রশংসনীয় পদ্ধতি, তবে এর চেয়ে আরও বেশি কাজের প্রয়োজন বলে মনে হয়।
পিটার টেলর

3
@ পিটারটায়লর অ্যালগরিদম উইকিপিডিয়ায় উল্লিখিত হয়েছে: একটি নিষ্পাপ অ্যালগরিদম সময় ও (এন ^ 4) এ সমস্যার সমাধান করে সমস্ত জোড় এবং ত্রিভুজের দ্বারা নির্ধারিত বৃত্তগুলি পরীক্ষা করে । তবে দুর্ভাগ্যক্রমে, প্রমাণের কোনও যোগসূত্র নেই।
আর্নৌল্ড

নির্ভুলতার সমস্যার সমাধান করবে কি কোনও সমাধান হবে?
l4m2

1
@ আরনাউল্ড আপনার যদি পৌঁছানোর জন্য কিছু অদ্ভুত সংখ্যার প্রয়োজন হয় তবে আমি বলতে পারি যে এটি ঠিক আছে; এমনকি যদি এটি সহজ পরিস্থিতিতে ব্যর্থ হয় তবে এটি একটি সমস্যা হতে পারে
l4m2

14

আর , 59 বাইট

function(x)nlm(function(y)max(Mod(x-y%*%c(1,1i))),0:1)[1:2]

এটি অনলাইন চেষ্টা করুন!

জটিল স্থানাঙ্কের ভেক্টর হিসাবে ইনপুট নেয়। Modজটিল প্লেনের দূরত্ব (মডুলাস) এবং nlmএটি একটি অপ্টিমাইজেশন ফাংশন: এটি কেন্দ্রের অবস্থান (আউটপুট হিসাবে estimate) সন্ধান করে যা ইনপুট পয়েন্টগুলির সর্বাধিক দূরত্বকে ন্যূনতম করে এবং সংশ্লিষ্ট দূরত্ব (আউটপুট হিসাবে minimum) দেয়, অর্থাৎ ব্যাসার্ধ দেয় । 3-6 সংখ্যার যথাযথ; টিআইও পাদলেখটি আউটপুটটিকে 2 টি সংখ্যায় দেয়।

nlmইনপুট হিসাবে একটি সংখ্যক ভেক্টর নেয়: y%*%c(1,1i)ব্যবসায় এটিকে একটি জটিলতে রূপান্তর করে।


9

জেলি , 100 98 বাইট

_²§½
1ịṭƊZIṚṙ€1N1¦,@ṭ@²§$µḢZḢ×Ø1œị$SḤ÷@P§
ZṀ+ṂHƲ€_@Ç+ḷʋ⁸,_²§½ʋḢ¥¥
œc3Ç€;ŒcZÆm,Hñ/$Ʋ€$ñ_ƭƒⱮṀ¥Ðḟ⁸ṚÞḢ

এটি অনলাইন চেষ্টা করুন!

আমার ওল্ফ্রাম ভাষার উত্তরের বিপরীতে , জেলি এটি অর্জনের জন্য যথেষ্ট কোডের প্রয়োজন (যদি না আমি কিছু মিস করছি!)) এই সম্পূর্ণ প্রোগ্রামটি পয়েন্টগুলির তালিকাটিকে তার যুক্তি হিসাবে গ্রহণ করে এবং ক্ষুদ্রতম সংলগ্ন বৃত্তের কেন্দ্র এবং ব্যাসার্ধ প্রদান করে returns এটি তিনটি পয়েন্টের সমস্ত সেটের জন্য খৎনা তৈরি করে এবং দুটি পয়েন্টের সমস্ত সেটগুলির জন্য ব্যাসারক তৈরি করে, চেকগুলিতে সমস্ত পয়েন্ট অন্তর্ভুক্ত থাকে এবং তারপরে একটিকে সবচেয়ে ছোট ব্যাসার্ধের সাথে নিয়ে যায়।

Make_circumc বৃত্ত বিটের কোড কোডটি এই সাইটে কোড দ্বারা অনুপ্রাণিত হয়েছিল , পরিবর্তে উইকিপিডিয়া দ্বারা অনুপ্রাণিত হয়েছিল।


1
আমি এই কোডটি বুঝতে পারছি না, তবে আলাদাভাবে ব্যাসক এবং খৎনার পরিবর্তে, আপনি নকল সহ তিনটি পয়েন্টের সমস্ত সেট তৈরি করতে এবং তিনটি অভিন্ন পয়েন্টের তালিকাগুলি ফিল্টার করতে পারবেন?
লাইটোসিয়াসট

2

এপিএল (এনএআরএস), 348 চর, 696 বাইট

f←{h←{0=k←⍺-1:,¨⍵⋄(k<0)∨k≥i←≢w←⍵:⍬⋄↑,/{w[⍵],¨k h w[(⍳i)∼⍳⍵]}¨⍳i-k}⋄1≥≡⍵:⍺h⍵⋄⍺h⊂¨⍵}
c←{⍵≡⍬:1⋄(x r)←⍵⋄(-r*2)++/2*⍨⍺-x}
p←{(b k)←⍺ ⍵⋄∧/¨1e¯13≥{{⍵{⍵c⍺}¨b}k[⍵]}¨⍳≢k}
s2←{(+/k),√+/↑2*⍨-/k←2÷⍨⍵}
s3←{0=d←2×-.×m←⊃{⍵,1}¨⍵:⍬⋄m[;1]←{+/2*⍨⍵}¨⍵⋄x←d÷⍨-.×m⋄m[;2]←{1⊃⍵}¨⍵⋄y←d÷⍨--.×m⋄(⊂x y),√+/2*⍨(x y)-1⊃⍵}
s←{v/⍨⍵p v←(s2¨2 f⍵)∪s3¨3 f⍵}
s1←{↑v/⍨sn=⌊/sn←{2⊃⍵}¨v←s⍵}

এটি আর্নল্ড সমাধানের সূত্রগুলির একটি 'বাস্তবায়ন' ... ফলাফল এবং মন্তব্যসমূহ:

  s1 (¯8 0)(3 1)(¯6.2 ¯8)(3 9.5)
¯1.6 0.75  9.885469134 
  s1 (7.1 ¯6.9)(¯7 ¯9)(5 10)(¯9.5 ¯8)
¯1.732305109 0.5829680042  11.57602798 
  s1 (0 0)(1 2)(3 ¯4)(4 ¯5)(10 ¯10)
5.5 ¯4  7.5 
  s1 (6 6)(¯6 7)(¯7 ¯6)(6 ¯8)
0 ¯0.5  9.604686356 
  s1 (6 6)(¯6 7)(¯7 ¯6)(6 ¯8)(0 0)(1 2)(3 ¯4)(4 ¯5)(10 ¯10)
2 ¯1.5  11.67261753 
  s1 (6 6)(¯6 7)(¯7 ¯6)(6 ¯8)(1 2)(3 ¯4)(4 ¯5)(10 ¯10)(7.1 ¯6.9)(¯7 ¯9)(5 10)(¯9.5 ¯8)
1.006578947 ¯1.623355263  12.29023186 
  s1 (1 1)(2 2)(3 3)(4 4)
2.5 2.5  2.121320344 
  ⎕fmt s3 (1 1)(2 2)(3 3)(4 4)
┌0─┐
│ 0│
└~─┘

চ: ওমেগা সেটে আলফা ওজেটের সংমিশ্রণটি সন্ধান করে

f←{h←{0=k←⍺-1:,¨⍵⋄(k<0)∨k≥i←≢w←⍵:⍬⋄↑,/{w[⍵],¨k h w[(⍳i)∼⍳⍵]}¨⍳i-k}⋄1≥≡⍵:⍺h⍵⋄⍺h⊂¨⍵}

((এক্স, ওয়াই), আর) এখন থেকে ব্যাসার্ধের একটি এবং এর মধ্যে (এক্সওয়াই) কেন্দ্রের উপস্থাপন করে।

গ: সন্ধান করে যে ⍺ এর বিন্দুটি পরিধি ((এক্সওয়াই) আর) এর মধ্যে ⍵ (ফলাফল <= 0) এর মধ্যে রয়েছে যদি এটি বাহ্যিক হয় (ফলাফল> 0) ference মধ্যে পরিধি ইনপুট ক্ষেত্রে এটি ইনপুট হিসাবে হয়, এটি possible তে প্রতিটি সম্ভাব্য ইনপুট 1 (পরিধির বাইরে) ফেরত দেবে ⍺

c←{⍵≡⍬:1⋄(x r)←⍵⋄(-r*2)++/2*⍨⍺-x}

পি: যদি (((এক্সওয়াই) আর) এর একটি অ্যারে হয়; অ্যারের সমস্ত পয়েন্ট (((এক্সওয়াই) আর) এর অভ্যন্তরীন হলে ⍵ এর প্রতিটি ((এক্সওয়াই) আর) এর জন্য 1 লিখছেন 1 অন্যথায় 0 এনবি লিখেছেন এখানে এমন কিছু নেই যা আমাকে এপসিলন = 1e¯ করতে হয়েছিল 13। অন্য কথায় বিমানের পয়েন্টগুলির সীমাবদ্ধতার ক্ষেত্রে (এবং সম্ভবত উদ্দেশ্য নিয়ে নির্মিত) এটি 100% সমাধান বীমা নয়

p←{(b k)←⍺ ⍵⋄∧/¨1e¯13≥{{⍵{⍵c⍺}¨b}k[⍵]}¨⍳≢k}

s2: 2-পয়েন্ট ⍵ থেকে, এটি (2 XY) r বিন্যাসে পরিধিটি দেয় যা সেই 2 পয়েন্টের ব্যাস রয়েছে

s2←{(+/k),√+/↑2*⍨-/k←2÷⍨⍵}

s3: 3 পয়েন্ট থেকে এটি তিনটি পয়েন্টের মধ্য দিয়ে ((XY) r) বিন্যাসে পরিধিটি ফিরে আসে যদি সমস্যা থাকে (উদাহরণস্বরূপ পয়েন্টগুলি সারিবদ্ধ হয়), এটি ব্যর্থ হয়ে ফিরে আসবে ⍬।

s3←{0=d←2×-.×m←⊃{⍵,1}¨⍵:⍬⋄m[;1]←{+/2*⍨⍵}¨⍵⋄x←d÷⍨-.×m⋄m[;2]←{1⊃⍵}¨⍵⋄y←d÷⍨--.×m⋄(⊂x y),√+/2*⍨(x y)-1⊃⍵}

নোট করুন যে -। a একটি ম্যাট্রিক্স nxn এর নির্ধারক এবং

  ⎕fmt ⊃{⍵,1}¨(¯8 0)(3 1)(¯6.2 ¯8)
┌3─────────┐     
3 ¯8    0 1│     |ax  ay 1|
│  3    1 1│   d=|bx  by 1|=ax(by-cy)-bx(ay-cy)+cx(ay-by)=ax(by-cy)+bx(cy-ay)+cx(ay-by)
│ ¯6.2 ¯8 1│     |cx  cy 1|
└~─────────┘

s: points এর n পয়েন্ট থেকে এটি এস 2 এর সাথে পাওয়া বা টাইপ এস 3 এর সব ধরণের এন পয়েন্টের টাইপ পরিধি আবিষ্কার করে।

s←{v/⍨⍵p v←(s2¨2 f⍵)∪s3¨3 f⍵}

s1: উপরের এস থেকে পাওয়া সেটটি থেকে তাদের গণনা করে যাদের ন্যূনতম ব্যাসার্ধ আছে এবং সর্বনিম্ন ব্যাসার্ধের প্রথমটি প্রদান করে। অ্যারে হিসাবে তিনটি সংখ্যা (প্রথম এবং দ্বিতীয় স্থানাঙ্কগুলি হ'ল কেন্দ্রের স্থানাঙ্ক, এবং তৃতীয়টি পরিধির পরিধিটির ব্যাসার্ধ)।

s1←{↑v/⍨sn=⌊/sn←{2⊃⍵}¨v←s⍵}

2

পাইথন 2 (পাইপাই) , 244 242 বাইট

P={complex(*p)for p in input()}
Z=9e999,
for p in P:
 for q in{p}^P:
	for r in{p}^P:R,S=1j*(p-q),q-r;C=S.imag and S.real/S.imag-1jor 1;c=(p+q-(S and(C*(p-r)).real/(C*R).real*R))/2;Z=min(Z,(max(abs(c-t)for t in P),c.imag,c.real))
print Z[::-1]

এটি অনলাইন চেষ্টা করুন!

এটি ব্রুট-ফোর্স ও (এন ^ 4) অ্যালগরিদম ব্যবহার করে প্রতিটি জোড় এবং পয়েন্টের ত্রিভুজগুলির মধ্য দিয়ে পুনরাবৃত্তি করে, কেন্দ্রটি গণনা করে, এবং সমস্ত পয়েন্টগুলিকে সংযুক্ত করার জন্য যে কেন্দ্রটি সবচেয়ে ছোট ব্যাসার্ধের প্রয়োজন হয় তা রাখে। এটি দুটি লম্ব দ্বিখণ্ডকের ছেদ খুঁজে (বা, যদি দুটি পয়েন্ট সমান হয় তবে এটি তৃতীয়টির সাথে মিডপয়েন্ট ব্যবহার করে) 3 পয়েন্টের পরিধিকে গণনা করে।


পিপিসিজিতে আপনাকে স্বাগতম! যেহেতু আপনি পাইথন 2 ব্যবহার করছেন তাই আপনি 5 তম লাইনের দুটি স্পেসটিকে একটি ট্যাবে রূপান্তর করে 1 বাইট সংরক্ষণ করতে পারেন।
স্টিফেন

P={x+y*1j for x,y in input()}পাশাপাশি 2 বাইট সাশ্রয় করে।
মিঃ এক্সকোডার

1

পাইথন 212 190 বাইট

এই সমাধানটি ভুল, এবং এখনই আমাকে কাজ করতে হবে তাই আমার এটিকে ঠিক করার সময় নেই।

a=eval(input())
b=lambda a,b: ((a[0]-b[0])**2+(a[1]-b[1])**2)**.5
c=0
d=1
for e in a:
    for f in a:
        g=b(e,f)
        if g>c:
            c=g
            d=[e,f]
print(((d[0][0]+d[1][0])/2,(d[0][1]+d[1][1])/2,c/2))

এটি অনলাইন চেষ্টা করুন!

আমি বুঝতে পেরেছি কোন দুটি পয়েন্টটি সবচেয়ে দূরে এবং তারপরে আমি সেই পয়েন্টগুলির ভিত্তিতে একটি বৃত্তের জন্য একটি সমীকরণ তৈরি করেছি!

আমি জানি এটি অজগরটি সবচেয়ে সংক্ষিপ্ত নয়, তবে এটি আমার পক্ষে সবচেয়ে ভাল! এগুলির মধ্যে একটি করার এটিও আমার প্রথম প্রয়াস, তাই অনুগ্রহ করে বোধগম্য হোন!


2
এটি আরও কিছু গল্ফ করা যেতে পারে। উদাহরণস্বরূপ, যদি আপনি খাটো করতে পারেন if g>c:\n c=g\n d=[e,f]থেকে if g>c:c=g;d=[e,f], আপনি হোয়াইটস্পেস অনেকটা সংরক্ষণ। আমি মনে করি না যে আপনার আগে d টি আরম্ভ করতে হবে, এছাড়াও দুটি ভেরিয়েবল এবং E,F=e,f10 লাইন ব্যবহার করে আপনার printঅনেক সংক্ষিপ্ত করে তুলবে । আমি মনে করি একটি সমাধান maxএবং একটি তালিকা বোধগম্য দুটি লুপের চেয়েও কম হবে তবে আমি ভুল হতে পারি। দুঃখের বিষয়, তবে, আপনার সমাধানটি সঠিক নয়। পয়েন্টগুলির জন্য (-1,0), (0,1.41), (0.5, 0), (1,0) আপনার দ্রবণটি 1 টি ব্যাসার্ধের সাথে 0 এর আশেপাশে একটি বৃত্ত গণনা করে তবে বিন্দু (1, 1.41) এর মধ্যে নেই বৃত্ত।
কালো আউল কাই

স্বাগত! আপনার উত্তর করার জন্য আপনাকে ধন্যবাদ। উপরের মন্তব্যে নির্দেশিত হিসাবে, আপনার সমাধানটি সঠিক নয়। ব্রুট-ফোর্স সমাধানের জন্য একটি ইঙ্গিত: ক্ষুদ্রতম সম্ভাব্য বৃত্ত দুটি পয়েন্ট বা তিনটি পয়েন্টকে স্পর্শ করে। আপনি প্রতিটি জোড় পয়েন্টকে স্পর্শ করে এমন বৃত্তের সমীকরণ গণনা করা শুরু করতে পারেন এবং সমস্ত পয়েন্টকে আবদ্ধ করে আছে কিনা তা পরীক্ষা করতে পারেন। তারপরে বৃত্তের সমীকরণটি গণনা করুন যা প্রতিটি পয়েন্টের ত্রিপলিকে স্পর্শ করে এবং পরীক্ষা করে যে এটি এমন একটি আছে যা সমস্ত পয়েন্ট আবদ্ধ রয়েছে। সমস্ত সম্ভাব্য চেনাশোনাগুলি পাওয়ার পরে, ক্ষুদ্রতম ব্যাসার্ধের সাথে একটি নির্বাচন করুন।
বারানকা

1
ঠিক আছে আমি এটিকে কাজ করার চেষ্টা করব এবং তারপরে আমি উত্তরটি আপডেট করব। একটি বৃত্তের মধ্যে কোনও বিন্দু রয়েছে কিনা তা পরীক্ষা করে দেখতে হবে I
বেন মরিসন

একবার আপনার বৃত্তের কেন্দ্র এবং ব্যাসার্ধ পরে, কেন্দ্র এবং প্রতিটি পয়েন্টের মধ্যকার দূরত্ব ব্যাসার্ধের চেয়ে কম বা সমান কিনা তা পরীক্ষা করুন; যদি এই শর্তটি সমস্ত পয়েন্টের জন্য সত্য হয়, তবে সেই বৃত্তটি একজন প্রার্থী
বারানকা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.