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

সি++-এ ডিজোরিয়াম নম্বর উদাহরণসহ


যে সংখ্যাটির অঙ্কগুলো তাদের নিজস্ব পজিশন अनुसार ঘাতанকিত করে যোগফল নিলে নিজের সংখ্যাটি পাওয়া যায় সেটিকে ডিজোরিয়াম নম্বর বলা হয়।

noOfDigits(int num) ফাংশন সংখ্যাটি নেয় এবং সংখ্যার অঙ্কের সংখ্যা ফেরত দেয় ১০ দিয়ে বারবার ভাগ করে যতক্ষণ একক অঙ্ক মাত্র থাকে। প্রতিটি ইটারেশনে digits ভেরিয়েবল বাড়ায় অঙ্ক ট্র্যাক রাখতে এবং হয়ে যাওয়ায় ফেরত দেয়।

int noOfDigits(int num){ 
    int digits = 0; 
    int temp = num; 
    while (temp){ 
        temp= temp/10; 
        digits++; 
    } 
    return digits; 
}

পরবর্তীতে, isDisarium(int num) একটি বুলিয়ান ফাংশন যা সংখ্যাটি নেয় এবং চেক করে সেটি ডিজোরিয়াম নম্বর কিনা। এটি ডানপাশের অঙ্ক নেয় num mod 10 দিয়ে এবং সেটিকে সংখ্যা পদ্ধতিতে তার ডিজিট প্লেসের ঘাতে ঘাড়িয়ে দেয়। ঘাড়িয়ে পাওয়া ফলাফল sum-এ যোগ করা হয়। হয়ে যাওয়া পর্যন্ত হয়ে যাওয়া পর্যন্ত চলে। যদি sum num-এর সমান হয় তবে true ফেরত দেয় অন্যথায় false।

isDisarium(int num){ 
    int digits = noOfDigits(num); 
    int sum = 0; 
    int temp = num; 
    while (temp){ 
        int rightDigit = temp%10; 
        sum = sum + pow(rightDigit, digits--); 
        temp = temp/10; 
    } 
    return (sum == num); 
}

উদাহরণ

একটি সংখ্যা ডিজোরিয়াম নম্বর কিনা চেক করার ইমপ্লিমেন্টেশন:

#include<iostream> 
#include<math.h> 
using namespace std; 

int noOfDigits(int num){ 
    int digits = 0; 
    int temp = num; 
    while (temp){ 
        temp= temp/10; 
        digits++; 
    } 
    return digits; 
} 

bool isDisarium(int num){ 
    int digits = noOfDigits(num); 
    int sum = 0; 
    int temp = num; 
    while (temp){ 
        int rightDigit = temp%10; 
        sum = sum + pow(rightDigit, digits--); 
        temp = temp/10; 
    } 
    return (sum == num); 
} 

int main(){ 
    int num = 518; 
    if( isDisarium(num)) 
        cout << num << " is a Disarium Number" << endl; 
    else 
        cout << num << " is not a Disarium Number" << endl; 
    return 0; 
}

আউটপুট

518 is a Disarium Number
  1. C++-এ একটি সংখ্যার প্রাইমোরিয়াল (Primorial)

  2. শুধু ৩ ও ৮ ডিজিট দিয়ে সংখ্যা তৈরি করা C++-এ

  3. C++-এ অ্যারিথমেটিক নম্বর

  4. C++-এ CHAR_BIT