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

সি প্রোগ্রামিং-এ সুপারপারফেক্ট সংখ্যা


সুপারপারফেক্ট সংখ্যার ধারণা পারফেক্ট সংখ্যার অনুরূপ। এটি ১৯৬৯ সালে ডি. সুর্যনারায়ণ দ্বারা আবিষ্কৃত হয়েছিল। তিনি সুপারপারফেক্ট সংখ্যাকে এমন একটি সংখ্যা হিসেবে সাধারণীকরণ করেছিলেন যা নিচের সূত্রটি পূরণ করে:

sig(sig(n)) = 2n

এখানে, `sig(n)` হল একটি ফাংশন যা একটি সংখ্যার সব ভাজকের যোগফল বের করে, এটি ভাজক যোগফল ফাংশন হিসাবেও পরিচিত। নিচের উদাহরণটি ধারণাটি স্পষ্ট করবে:

N = ১৬ কি না সুপারপারফেক্ট সেটা যাচাই করা যাক।

আউটপুট

yes

ব্যাখ্যা − একটি সংখ্যা পারফেক্ট কি না জানতে তার ভাজকদের যোগফল বের করতে হয়।

sig(16) = 1 + 2 + 4 + 8 + 16 = 31 (১৬-এর ভাজক: ১, ২, ৪, ৮, ১৬) sig(31) = 1 + 31 = 32 (৩১ একটি মৌলিক সংখ্যা) 2*n = 32 = sig(sig(n))

এটি প্রমাণ করে যে ১৬ একটি সুপারপারফেক্ট সংখ্যা।

এখন একটি সংখ্যা দেখি যা সুপারপারফেক্ট নয়।

n = 6 sig(6) = 1 + 2 + 3 + 6 = 12 sig(12) = 1 + 2 + 3 + 4 + 6 + 12 = 28 6*2 = 12 != 28.

এটি দেখায় ৬ একটি সুপারপারফেক্ট সংখ্যা নয়।

উদাহরণ

#include<stdio.h> // ভাজকদের যোগফল বের করার ফাংশন int divisorsum(int n){    int sum = 0; // যোগফল ইনিশিয়ালাইজ    for (int i=1; i*i <= n; ++i){       if (n%i == 0) { // ভাজকদের যোগফল বের করুন          if (i == (n/i))             sum += i;          else             sum += (i + n/i);       }    }    return sum; } int main() {    int n = 16;    int n1 = divisorsum(n);    if(2*n == divisorsum(n1)){       printf("The number %d is a superperfect number", n);    } else{       printf("The number %d is not a superperfect number", n);    }    return 0; }

আউটপুট

The number 16 is a super perfect number

  1. C++-এ ছোট K-অঙ্কের সংখ্যা যা X দ্বারা বিভাজ্য (Smallest K digit number divisible by X)

  2. C#-এ সেমাফোর (Semaphore)

  3. C#-এ সকেট প্রোগ্রামিং: TCP/IP নেটওয়ার্ক কমিউনিকেশন

  4. গভীরে যান: লিনাক্স শেল স্ক্রিপ্টিং-এ গাণিতিক কনসেপ্ট – পার্ট IV