ধরুন আমাদের একটি সংখ্যা n আছে। সংখ্যাটি ত্রিভুজাকার সংখ্যা কিনা তা পরীক্ষা করতে হবে। আমরা জানি, যদি n বিন্দু (বা বল) স্তরে সাজিয়ে একটি সমবাহু ত্রিভুজ গঠন করা যায় তাহলে n হল একটি ত্রিভুজাকার সংখ্যা৷
সুতরাং, যদি ইনপুট n =10 এর মত হয়, তাহলে আউটপুট হবে True।
পদক্ষেপ
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
for initialize i := 1, when i <= n, update (increase i by 1), do: if i * (i + 1) is same as 2 * n, then: return true return false
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
#include <bits/stdc++.h> using namespace std; bool solve(int n){ for (int i = 1; i <= n; i++){ if (i * (i + 1) == 2 * n){ return true; } } return false; } int main(){ int n = 10; cout << solve(n) << endl; }
ইনপুট
10
আউটপুট
1