কম্পিউটার

C++ এ বারবার যুক্ত করে গঠিত সংখ্যার সংখ্যার পুনরাবৃত্ত যোগফল


ইনপুট হিসাবে দুটি পূর্ণসংখ্যা 'সংখ্যা' এবং 'পুনরাবৃত্তি' দেওয়া হয়েছে। লক্ষ্য হল ইনপুট সংখ্যার অঙ্কের যোগফল গণনা করা যতক্ষণ না যোগফলটি একক সংখ্যায় পরিণত হয় ততক্ষণ বার বার 'পুনরাবৃত্তি' সংখ্যার পুনরাবৃত্তি করা। সংখ্যার যোগফল সহ প্রাপ্ত সংখ্যাটি একক সংখ্যায় পরিণত না হওয়া পর্যন্ত এটি করুন। ইনপুট সংখ্যা 123 এবং পুনরাবৃত্তি=2 হলে 123123 এর অঙ্কের যোগফল হবে 1+2+3+1+2+3=12 যা একটি একক সংখ্যা নয়। এখন 12-এর অঙ্কের যোগফল হল 1+2=3। আউটপুট হবে 3

আসুন এর জন্য বিভিন্ন ইনপুট আউটপুট পরিস্থিতি দেখি

ইনপুট − সংখ্যা=32 পুনরাবৃত্তি=3

আউটপুট − বারবার যুক্ত করে গঠিত সংখ্যার অঙ্কের পুনরাবৃত্ত যোগফল হল:6

ব্যাখ্যা − 323232-এর অঙ্কের যোগফল হল 3+2+3+2+3+2=15 এবং 15-এর অঙ্কের যোগফল হল 1+5=6। 6 একটি একক সংখ্যার সংখ্যা তাই আউটপুট 6 হবে।

ইনপুট − সংখ্যা=81 পুনরাবৃত্তি=4

আউটপুট − বারবার যুক্ত করে গঠিত সংখ্যার সংখ্যার পুনরাবৃত্ত যোগফল হল:9

ব্যাখ্যা − 81818181-এর অঙ্কের যোগফল হল 1+8+1+8+1+8+1+8=36 এবং 36-এর অঙ্কের যোগফল হল 3+6=9। 9 একটি একক সংখ্যার সংখ্যা তাই আউটপুট 9 হবে।

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

  • সংখ্যা এবং পুনরাবৃত্তি হিসাবে দুটি পূর্ণসংখ্যা ধরনের ভেরিয়েবল ঘোষণা করুন। Recursive_Sum(সংখ্যা, পুনরাবৃত্তি) হিসাবে ফাংশনে ডেটা পাস করুন।

  • Recursive_Sum(int number, int repeat)

    হিসেবে ফাংশনের ভিতরে
    • একটি পূর্ণসংখ্যা ভেরিয়েবলকে মোট হিসাবে ঘোষণা করুন এবং এটিকে পুনরাবৃত্তি * যোগফল(সংখ্যা) দিয়ে সেট করুন;

    • যোগফল (মোট) হিসাবে ফাংশনে কল রিটার্ন করুন।

  • যোগফল (int number)

    হিসাবে ফাংশনের ভিতরে
    • IF নম্বর 0 হলে চেক করুন তারপর 0 দিন।

    • চেক করুন IF সংখ্যা % 9 0 তারপর 9 ফেরত দিন।

    • অন্যথায়, রিটার্ন নম্বর % 9

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

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
int sum(int number){
   if(number == 0){
      return 0;
   }
   if(number % 9 == 0){
      return 9;
   }
   else{
      return number % 9;
   }
}
int Recursive_Sum(int number, int repeat){
   int total = repeat * sum(number);
   return sum(total);
}
int main(){
   int number = 12;
   int repeat = 4;
   cout<<"Recursive sum of digits of a number formed by repeated appends is: "<<Recursive_Sum(number, repeat);
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট তৈরি করবে

Recursive sum of digits of a number formed by repeated appends is: 3

  1. C++ এ একটি সংখ্যার ফ্যাক্টরিয়াল সংখ্যার সমষ্টি খুঁজুন

  2. C++ এ একটি সংখ্যা ম্যাজিক কিনা তা পরীক্ষা করুন (সংখ্যার পুনরাবৃত্ত যোগফল 1)

  3. C++ এ অ্যালিকোট সিকোয়েন্স

  4. একটি প্রদত্ত সংখ্যার সংখ্যা যোগ করার জন্য C++ প্রোগ্রাম