অতি নিখুঁত সংখ্যার ধারণাটি নিখুঁত সংখ্যার অনুরূপ। এটি ডি সূর্যনারায়ণ 1969 সালে খুঁজে পেয়েছিলেন। তিনি অতি নিখুঁত সংখ্যাটিকে একটি সংখ্যা হিসাবে সাধারণীকরণ করেছিলেন যা নিম্নলিখিত সূত্রকে সন্তুষ্ট করে :
sig(sig(n)) =2n
এখানে, sig(n) হল একটি ফাংশন যা একটি সংখ্যার ভাজকের যোগফল গণনা করে, এটি ভাজক যোগফল ফাংশন নামেও পরিচিত।
নিম্নলিখিত উদাহরণটি আপনার কাছে এই ধারণাটি স্পষ্ট করে তুলেছে :
N সংখ্যাটি একটি অতি পারফেক্ট সংখ্যা কিনা তা আমাদের পরীক্ষা করতে হবে:
N =16
আউটপুট
হ্যাঁ
ব্যাখ্যা - একটি সংখ্যা একটি নিখুঁত সংখ্যা কিনা তা পরীক্ষা করার জন্য আমরা এর ভাজকের যোগফল খুঁজে পাব।
sig(16) =1 + 2 + 4 + 8 + 16 =31 ( 16 এর ভাজক হল 1, 2, 4, 8, 16 1, 2, 4, 8, 16) sig( 31) =1 + 31 =32( 31 একটি মৌলিক সংখ্যা) 2*n =32 =sig(sig(n))
এটি দেখায় যে 16 একটি অতি পারফেক্ট সংখ্যা৷
এখন আসুন এমন একটি সংখ্যার উদাহরণ দেখি যা একটি অতি পারফেক্ট সংখ্যা নয়।
n =6sig(6) =1 + 2 + 3 + 6=12sig(12) =1 + 2 + 3 + 4 +6 + 12 =286*2 =12 !=28।
এটি দেখায় যে 6 একটি অতি নিখুঁত সংখ্যা নয়
উদাহরণ
numint divisorsum(int n){ int sum =0; // (int i=1; i*i <=n; ++i){ if (n%i ==0) { // ভাজকের যোগফল নির্ণয় করুন যদি (i ==(n/i) )) যোগফল +=i; অন্য যোগফল +=(i + n/i); } } ফেরত যোগফল;} int main() { int n =16; int n1 =divisorsum(n); if(2*n ==বিভাজক(n1)){ printf("%d সংখ্যাটি একটি অতি পারফেক্ট সংখ্যা", n); } else{ printf("%d সংখ্যাটি একটি অতি পারফেক্ট সংখ্যা নয়", n); } রিটার্ন 0; }আউটপুট
১৬ নম্বরটি একটি অতি নিখুঁত সংখ্যা