উত্তর দিতে কিছুটা দেরি হতে পারে তবে বর্গমূলের গণনা করার সবচেয়ে সহজ এবং সঠিক উপায় হ'ল নিউটনের পদ্ধতি।
আপনার এমন একটি সংখ্যা রয়েছে যা আপনি এর বর্গমূল গণনা করতে চান (num)
এবং আপনার বর্গমূলের একটি অনুমান আছে (estimate)
। প্রাক্কলন 0 এর চেয়ে বড় যে কোনও সংখ্যা হতে পারে, তবে এমন একটি সংখ্যা যা বোঝায় যে পুনরাবৃত্তির কল গভীরতা উল্লেখযোগ্যভাবে সংক্ষিপ্ত করে।
new_estimate = (estimate + num / estimate) / 2
এই লাইনটি সেই 2 টি পরামিতিগুলির সাথে আরও সঠিক অনুমানের গণনা করে। আপনি ফাংশনে new_estimate মানটি পাস করতে পারেন এবং অন্য একটি নতুন_সেসিটটি গণনা করতে পারেন যা আগেরটির তুলনায় আরও নির্ভুল বা আপনি এটির মতো পুনরাবৃত্ত ফাংশন সংজ্ঞা তৈরি করতে পারেন।
def newtons_method(num, estimate):
# Computing a new_estimate
new_estimate = (estimate + num / estimate) / 2
print(new_estimate)
# Base Case: Comparing our estimate with built-in functions value
if new_estimate == math.sqrt(num):
return True
else:
return newtons_method(num, new_estimate)
উদাহরণস্বরূপ আমাদের 30 এর বর্গমূলের সন্ধান করতে হবে। আমরা জানি যে ফলাফলটি 5 থেকে 6 এর মধ্যে রয়েছে।
newtons_method(30,5)
সংখ্যাটি 30 এবং অনুমান 5 each প্রতিটি পুনরাবৃত্ত কলগুলির ফলাফল:
5.5
5.477272727272727
5.4772255752546215
5.477225575051661
শেষ ফলাফলটি সংখ্যার বর্গমূলের সবচেয়ে নির্ভুল গণনা। এটি অন্তর্নির্মিত ফাংশন math.sqrt () এর সমান মান।