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