ধরুন আমাদের একটি সংখ্যা n আছে। একটি ডিসপ্লেতে এন পিক্সেল থাকবে। আমাদের আয়তক্ষেত্রাকার প্রদর্শনের আকার খুঁজে বের করতে হবে। নিয়মটি নিচের মত -
-
সারির সংখ্যা (a) কলামের সংখ্যা অতিক্রম করে না (b) [a <=b>
-
b - a এর মধ্যে পার্থক্য যতটা সম্ভব সর্বনিম্ন
সুতরাং, যদি ইনপুট n =12 এর মত হয়, তাহলে আউটপুট হবে (3, 4)
পদক্ষেপ
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
i := square root of n while n mod i is non-zero, do: (decrease i by 1) return (i, n / i)
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
#include <bits/stdc++.h> using namespace std; void solve(int n){ int i = sqrt(n); while (n % i) i--; cout << i << ", " << n / i; } int main(){ int n = 12; solve(n); }
ইনপুট
12
আউটপুট
3, 4