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

C++-এ রিকার্সিভ ডিজিট সম প্রাইম কিনা চেক করুন


একটি ইন্টিজার ভেরিয়েবল number ইনপুট হিসেবে দেওয়া। লক্ষ্য হলো ইনপুট নাম্বারের ডিজিটগুলোর যোগফল বের করা এবং সেটি প্রাইম কিনা চেক করা। এটা তখন পর্যন্ত চলবে যতক্ষণ না ডিজিট যোগফল দিয়ে প্রাপ্ত সংখ্যা একক ডিজিট হয়। চেক করো সেটি প্রাইম কিনা। যদি ইনপুট নম্বর ১২৩ হয় তবে ডিজিট সম হবে ১+২+৩=৬ যা নন-প্রাইম এবং ৬ একক ডিজিট নম্বর।

বিভিন্ন ইনপুট আউটপুট সিনেরিও দেখি

ইনপুট − number=12341

আউটপুট − Recursive sum of digits of a number is PRIME

ব্যাখ্যা −

1+2+3+4+1=11

1+1=2

২ একটি প্রাইম নম্বর।

ইনপুট − number=1664

আউটপুট − Recursive sum of digits of a number is NOT PRIME

ব্যাখ্যা −

1+6+6+4=17

1+7=8

৮ একটি নন-প্রাইম নম্বর।

নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • একটি ইন্টিজার ভেরিয়েবল ডিক্লেয়ার number হিসেবে।

  • Recursively_Prime(number) ফাংশনে ডেটা পাস।

  • Recursively_Prime(number) ফাংশনের ভিতরে

    • number কে sum(number) ফাংশন কল দিয়ে সেট।

    • চেক IF number ২ অথবা ৩ অথবা ৫ অথবা ৭ তবে PRIME প্রিন্ট।

    • ELSE, NOT PRIME প্রিন্ট।

  • sum(int number) ফাংশনের ভিতরে

    • চেক IF number ০ তবে ০ রিটার্ন।

    • ELSE, IF number % 9 == 0 তবে ৯ রিটার্ন।

    • ELSE, number % 9 রিটার্ন।

  • ফলাফল প্রিন্ট।

উদাহরণ

#include<iostream> using namespace std; int sum(int number){     if(number == 0){       return 0;     }     else{       if(number % 9 == 0){           return 9;       }       else{           return number % 9;       }     } } void Recursively_Prime(int number){     number = sum(number);     cout<<"Recursive sum of digits of a number is ";     if(number == 2 || number == 3 || number == 5 || number == 7){       cout << "PRIME";     }     else{       cout << "NOT PRIME";     } } int main(){     int number = 5555;     Recursively_Prime(number); }

আউটপুট

উপরের কোড রান করলে নিচের আউটপুট জেনারেট হবে

Recursive sum of digits of a number is PRIME

  1. C++-এ একটি সংখ্যা ম্যাজিক নম্বর (রিকার্সিভ ডিজিট সম ১) কিনা তা যাচাই করা

  2. C++-এ এলিকোয়ট সিকোয়েন্স (Aliquot Sequence)

  3. C++ প্রোগ্রাম: ফুল প্রাইম (Full Prime) চেক করা

  4. C++-এ দেওয়া সংখ্যার ডিজিটগুলোর যোগফল বের করা