কম্পিউটার

পরিসীমা [L, R] থেকে সংখ্যার গণনা যার অঙ্কের যোগফল C++ এ Y


সংখ্যার একটি পরিসর সংজ্ঞায়িত করার জন্য আমাদেরকে দুটি সংখ্যা দেওয়া হয়েছে START এবং END। লক্ষ্য হল [START,END] পরিসরে এমন সমস্ত সংখ্যা খুঁজে বের করা যা একটি প্রদত্ত সংখ্যা Y এর সমান অঙ্কের সমষ্টি রয়েছে।

আমরা START থেকে END পর্যন্ত সংখ্যাগুলি অতিক্রম করে এটি করব এবং প্রতিটি সংখ্যার জন্য আমরা একটি while লুপ ব্যবহার করে এর অঙ্কের যোগফল গণনা করব। এই যোগফল Y এর সমান হলে, বৃদ্ধির সংখ্যা।

উদাহরণ দিয়ে বোঝা যাক।

ইনপুট

START=10 END=20 Y=4

আউটপুট

Numbers such that digit sum is equal to Y: 1

ব্যাখ্যা

Number 13 has digit sum equal to 4.

ইনপুট

START=10 END=50 Y=5

আউটপুট

Numbers such that digit sum is equal to Y: 5

ব্যাখ্যা

Numbers 14, 23, 32, 41 and 50 have digit sum 5.

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

  • আমরা START, END, Y.

    পূর্ণসংখ্যা নিই
  • ফাংশন digitSum(int start, int end, int y) digitsum=y

    সহ সংখ্যার গণনা প্রদান করে
  • এই ধরনের সংখ্যার জন্য প্রাথমিক পরিবর্তনশীল গণনা 0 হিসাবে নিন।

  • পরিবর্তনশীল ডিগসামকে 0

    হিসাবে নিন
  • লুপ ব্যবহার করে সংখ্যার সীমা অতিক্রম করে। i=start to i=end

  • এখন প্রতিটি সংখ্যার জন্য num=i, while loop ব্যবহার করে চেক করুন সংখ্যা>0 কিনা।

  • digsum+=num%10 গণনা করুন। পরবর্তী সংখ্যা যোগ করতে num=num/10 কমিয়ে দিন।

  • সময় শেষে, পরীক্ষা করুন যদি ( digsum ==d )। যদি সত্য বৃদ্ধির সংখ্যা।

  • সমস্ত লুপ গণনার শেষে একটি মোট সংখ্যা থাকবে যা শর্তকে সন্তুষ্ট করে।

  • ফলাফল হিসাবে গণনা ফেরত দিন।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
int digitSum(int start, int end, int y){
   int count = 0;
   int digsum = 0;
   for (int i = start; i <= end; i++){
      int num=i;
      digsum=0;
      while(num>0){
         digsum+=num%10; //sum of digits
         num=num/10;
      }
      if(digsum==y) //original number is i{
         count++;
         //cout<<i<<" ";
      }
   }
   return count;
}
int main(){
   int START = 100;
   int END = 1000;
   int Y = 5;
   cout <<"Numbers such that digit sum is equal to Y: "<<digitSum(START,END,Y);
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Numbers such that digit sum is equal to Y: 15

  1. 1 থেকে n পর্যন্ত সংখ্যাগুলি গণনা করুন যেগুলির সংখ্যা C++ এ 4 আছে

  2. C++ এ একটি অ্যারের অঙ্ক থেকে গঠিত দুটি সংখ্যার ন্যূনতম যোগফল

  3. C++ এ 1 থেকে N পর্যন্ত প্রায় প্রাইম সংখ্যার গণনা খুঁজুন

  4. সংখ্যাগুলিকে তাদের সংখ্যার যোগফল অনুযায়ী C++ এ সাজান