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

C++-এ একটি সংখ্যা দুটি অবানড্যান্ট নম্বরের যোগফল হিসেবে প্রকাশ করা যায় কিনা তা যাচাই করা


ধরুন আমাদের একটি সংখ্যা আছে। আমাদের এটিকে দুটি অবানড্যান্ট (abundant) নম্বরের যোগফল হিসেবে প্রকাশ করতে হবে, যদি সম্ভব হয় তবে সংখ্যাগুলো প্রিন্ট করুন, অন্যথায় -1 প্রিন্ট করুন। একটি সংখ্যা অবানড্যান্ট হয় যদি তার সকল প্রপার ডিভাইজরের যোগফল (sum(n)) সংখ্যাটির চেয়ে বড় হয়।

এটি সমাধান করতে, আমরা সব অবানড্যান্ট নম্বর একটি সেটে স্টোর করব, এবং দেয়া সংখ্যা n-এর জন্য i = 1 থেকে n পর্যন্ত লুপ চালিয়ে চেক করব n এবং (n - i) দুটোই অবানড্যান্ট কিনা।

উদাহরণ

#include <iostream> #include <set> #define N 100005 using namespace std; set<int> getAbundantSet() {    set<int> abundant_set;    for (int i = 1; i < N; i++) {       int sum = 1;       for (int j = 2; j * j <= i; j++) {          if (i % j == 0) {             sum += j;             if (i / j != j)             sum += i / j;          }       }       if (sum > i)          abundant_set.insert(i);    }    return abundant_set; } void representSumAbundant(int number){    set<int> abundant_set = getAbundantSet();    for (int i = 1; i <= number; i++) {       if (abundant_set.count(i) && abundant_set.count(number - i)) {          cout << i << " " << number - i;          return;       }    }    cout << -1; } int main() {    int n = 30;    representSumAbundant(n); }

আউটপুট

12 18

  1. C++ প্রোগ্রাম: সংখ্যা ২টি ট্রায়্যাঙ্গুলার নাম্বারের যোগফল কিনা চেক

  2. C++-এ একটি সংখ্যা দুটি প্রাইমের যোগফল হিসেবে এক্সপ্রেস করা যায় কিনা চেক করা

  3. জাভা প্রোগ্রাম: একটি সংখ্যা দুটি প্রাইমের যোগফল হিসেবে প্রকাশ করা যায় কিনা চেক করা

  4. পাইথনে যাচাই করুন প্রাইম সংখ্যা দুটি প্রাইমের যোগফল হিসেবে প্রকাশ পায় কিনা