কম্পিউটার

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


অতি নিখুঁত সংখ্যার ধারণাটি নিখুঁত সংখ্যার অনুরূপ। এটি ডি সূর্যনারায়ণ 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; }

আউটপুট

১৬ নম্বরটি একটি অতি নিখুঁত সংখ্যা

  1. X দ্বারা বিভাজ্য ক্ষুদ্রতম K সংখ্যার সংখ্যার জন্য C++ প্রোগ্রামিং?

  2. C# এ সেমাফোর

  3. C# এ সকেট প্রোগ্রামিং

  4. লিনাক্স শেল প্রোগ্রামিং এর গাণিতিক দিক – চতুর্থ অংশ