কম্পিউটার

C++ এ দুটি সংখ্যা ব্যবহার করে সংখ্যাগুলি গণনা করুন


আমাদের তিনটি সংখ্যা প্রদান করা হয়েছে X, Y এবং N ( পরিসীমা সংজ্ঞায়িত করার জন্য [1,N])। লক্ষ্য হল রেঞ্জের [1,N] সমস্ত সংখ্যা খুঁজে বের করা যা শুধুমাত্র যেকোন সংখ্যক X এবং Y ব্যবহার করে তৈরি করা যেতে পারে।.

উদাহরণস্বরূপ যদি X=2 এবং Y=3. 6 নম্বরটি 2 তিনবার ( 2+2+2 ) বা 3 দুবার ( 3+3 ) ব্যবহার করে তৈরি করা যেতে পারে। একইভাবে 2 দুইবার এবং 3 একবার ( 2+2+3) ব্যবহার করে 7 তৈরি করা যেতে পারে।

আমরা 1 থেকে N পর্যন্ত প্রতিটি সংখ্যা থেকে X বা Y বিয়োগ করে এটি করব৷ যদি চূড়ান্ত সংখ্যাটি 0-তে কমে যায় তবে সংখ্যা বৃদ্ধি করুন৷

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

ইনপুট

N=10 X=4, Y=3

আউটপুট

Total numbers constructed using X & Y only: 7

ব্যাখ্যা

Numbers constructed by 3 and 4 only:
3, 4, 6 (3+3), 7 (3+4), 8 (4+4), 9 (3+3+3), 10 (3+3+4)

ইনপুট

N=10 X=5, Y=4

আউটপুট

Total numbers constructed using X & Y only: 5

ব্যাখ্যা

Numbers constructed by 4 and 5 only:
4, 5, 8(4+4), 9 (4+5), 10 (5+5)

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

  • আমরা তিনটি পূর্ণসংখ্যা X, Y এবং N নিই।

  • ফাংশন constructNums(int n,int x,int y) সংখ্যার গণনা প্রদান করে যা শুধুমাত্র x এবং y ব্যবহার করে তৈরি করা যেতে পারে।

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

  • লুপ ব্যবহার করে সংখ্যার সীমা অতিক্রম করে। i=1 থেকে i<=n

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

    চেক করুন
  • while(num%x==0) এবং num এর থেকে x বিয়োগ 0 নয়।

  • while(num%y==0) এবং num এর থেকে y বিয়োগ 0 নয়।

  • বিয়োগ করার পর যদি x এবং y সংখ্যা উভয় দ্বারা বিভাজ্য না হয় এবং উভয়ের থেকে বড় হয়। এটি থেকে x এবং y উভয় বিয়োগ করুন।

  • যদি outer while লুপের পরে চেক করুন num 0 কিনা। মানে x, y বা উভয়ই num করতে পারে। সংখ্যা বৃদ্ধি।

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

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

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
int constructNums(int n,int x,int y){
   int count = 0;
   for (int i = 1; i <= n; i++) {
      int num = i;
      while(num>0){
         while((num%x)==0 && num!=0)
         num-=x;
         while((num%y)==0 && num!=0)
         num-=y;
         if (num>x && num>y)
            num=num-x-y;
         else
            break;
      }
      if (num==0)
         { count++;}
   }
   return count;
}
int main(){
   int N=20;
   int X=5,Y=4;
   cout <<"Total numbers constructed using X & Y only:"<<constructNums(N,X,Y);
   return 0;
}

আউটপুট

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

উৎপন্ন করবে
Total numbers constructed using X & Y only:14

  1. C++ এ ++ অপারেটর ব্যবহার করে দুটি সংখ্যা যোগ করুন।

  2. দুটি সংখ্যার সাধারণ ভাজকের জন্য C++ প্রোগ্রাম?

  3. C++ এ বড় সংখ্যা পরিচালনা করছেন?

  4. দুই নম্বর অদলবদল করতে C++ প্রোগ্রাম