আমাদের তিনটি সংখ্যা প্রদান করা হয়েছে 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