ইনপুট হিসাবে আয়তক্ষেত্রের একটি এলাকা দেওয়া হয়েছে। লক্ষ্য হল একটি আয়তক্ষেত্রের দিকগুলি খুঁজে বের করা যাতে দৈর্ঘ্য এবং প্রস্থের মধ্যে পার্থক্য ন্যূনতম হয়৷
আয়তক্ষেত্রের ক্ষেত্রফল =দৈর্ঘ্য * প্রস্থ।
উদাহরণ
ইনপুট − এলাকা =100
আউটপুট −ন্যূনতম পার্থক্য সহ আয়তক্ষেত্রের পার্শ্ব:
দৈর্ঘ্য =10, প্রস্থ =10
ব্যাখ্যা − ক্ষেত্রফল সহ বাহু =100।
2 - 50, 4 - 25, 5 - 20, 10 - 10। ন্যূনতম পার্থক্য সহ বাহুর হল 10-10 পার্থক্যের সাথে =0। আমরা জানি থা বর্গ হল একটি আয়তক্ষেত্র যার সব দিকে সমান দৈর্ঘ্য রয়েছে।
ইনপুট − এলাকা =254
আউটপুট − ন্যূনতম পার্থক্য সহ আয়তক্ষেত্রের পার্শ্ব :
দৈর্ঘ্য =127, প্রস্থ =2
ব্যাখ্যা − ন্যূনতম পার্থক্য সহ শুধুমাত্র সম্ভাব্য বাহুগুলি 254 ক্ষেত্রফলের সাথে একটি আয়তক্ষেত্র তৈরি করে 127 এবং 2৷
নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতিটি নিম্নরূপ
এতে আমরা ক্ষেত্রফলের বর্গমূলের মান খুঁজে পাব এবং ন্যূনতম পার্থক্য এবং এলাকা=ইনপুট ক্ষেত্রফল সহ মানগুলি খুঁজে বের করার জন্য সেখান থেকে 1-এ অতিক্রম করব।
-
ইনপুট হিসাবে পূর্ণসংখ্যা পরিবর্তনশীল এলাকা নিন।
-
ফাংশন rectangleSides(int area1) এলাকা1 নেয় এবং দৈর্ঘ্য এবং প্রস্থের মধ্যে ন্যূনতম সম্ভাব্য পার্থক্য সহ আয়তক্ষেত্রের বাহুর দৈর্ঘ্য প্রিন্ট করে।
-
পূর্ণসংখ্যার দৈর্ঘ্য, প্রস্থ, tmp1 নিন।
-
tmp1=ceil(sqrt(area1))
সেট করুন -
লুপ ব্যবহার করে ট্রাভার্স (int i =tmp1; i> 0; i--)।
-
যদি (ক্ষেত্রফল1 % i ==0) তাহলে দৈর্ঘ্য=ক্ষেত্রফল/i এবং প্রস্থ=i সেট করুন।
-
বিরতি বিবৃতি ব্যবহার করে পুনরাবৃত্তি বন্ধ করুন।
-
প্রিন্ট পক্ষের দৈর্ঘ্য এবং প্রস্থ।
উদাহরণ
#include <bits/stdc++.h> using namespace std; void rectangleSides(int area1){ int length, breadth; int tmp1 = ceil(sqrt(area1)); for (int i = tmp1; i > 0; i--) { if (area1 % i == 0) { length = ceil(area1 / i); breadth = i; break; } } cout<<"Sides of Rectangle with minimum difference :"<<endl; cout << "Length = " << length << ", Breadth = " << breadth << endl; } int main(){ int Area = 140; rectangleSides(Area); return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট তৈরি করবে
Sides of Rectangle with minimum difference : Length = 14, Breadth = 10