কম্পিউটার টিউটোরিয়াল

C++-এ N-এর চেয়ে বেশি বিভাজক সম্পন্ন প্রথম ত্রিভুজাকার সংখ্যা খুঁজে বের করা

এই টিউটোরিয়ালে আমরা এমন একটি ত্রিভুজাকার সংখ্যা (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

নিষ্কর্ষ

এই টিউটোরিয়াল সম্পর্কে আপনার কোনো প্রশ্ন থাকলে কমেন্ট সেকশনে জানাতে পারেন।

  1. Frugal সংখ্যা চেক করা (C++)

  2. একটি সংখ্যার ভাজকগুলোর মধ্যে সবচেয়ে বড় Good Number বের করা (C++)

  3. প্রাকৃতিক সংখ্যার সব ভাজকের ভাজকের যোগফল খুঁজে বের করা C++-এ

  4. C++ দিয়ে পেন্টাটপ (Pentatope) সংখ্যা বের করা