এই টিউটোরিয়ালে আমরা এমন একটি ত্রিভুজাকার সংখ্যা (triangular number) খুঁজে বের করব যার বিভাজক (divisors) সংখ্যা n-এর চেয়ে বেশি।
যদি n-এর চেয়ে কম বা সমান প্রাকৃতিক সংখ্যাগুলোর যোগফল যেকোনো পয়েন্টে দেওয়া সংখ্যার সমান হয়, তবে সেই দেওয়া সংখ্যাটি একটি ত্রিভুজাকার সংখ্যা।
ত্রিভুজাকার সংখ্যা কী সেটা দেখেছি। এখন সমস্যা সমাধানের ধাপগুলো দেখি:
সংখ্যাটি ইনিশিয়ালাইজ করুন।
শর্ত পূরণকারী সংখ্যা পাওয়ার পর্যন্ত একটি লুপ চালান।
সংখ্যাটি ত্রিভুজাকার কিনা তা পরীক্ষা করুন।
সংখ্যাটির বিভাজক সংখ্যা n-এর চেয়ে বেশি কিনা তা পরীক্ষা করুন।
উপরের দুটি শর্ত পূরণ হলে সংখ্যাটি প্রিন্ট করুন এবং লুপ থেকে বের হোন।
উদাহরণ
নিচে কোডটি দেওয়া হলো:
#include <bits/stdc++.h>
using namespace std;
bool isTriangular(int n) {
if (n < 0) {
return false;
}
int sum = 0;
for (int i = 1; sum <= n; i++) {
sum += i;
if (sum == n) {
return true;
}
}
return false;
}
int divisiorsCount(int n) {
int count = 0;
for (int i = 1; i <= n; i++) {
if (n % i == 0) {
count += 1;
}
}
return count;
}
int main() {
int n = 2, i = 1;
while (true) {
if (isTriangular(i) && divisiorsCount(i) > 2) {
cout << i << endl;
break;
}
i += 1;
}
return 0;
}
আউটপুট
উপরের কোডটি রান করলে নিচের ফলাফলটি পাওয়া যাবে:
6
নিষ্কর্ষ
এই টিউটোরিয়াল সম্পর্কে আপনার কোনো প্রশ্ন থাকলে কমেন্ট সেকশনে জানাতে পারেন।