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

C++-এ a বা b দ্বারা বিভাজ্য Nth পদ বের করার প্রোগ্রাম


এই সমস্যায়, আমাদের তিনটি সংখ্যা A, B, এবং N দেওয়া হয়েছে। আমাদের কাজ হল A বা B দ্বারা বিভাজ্য Nth পদ বের করার প্রোগ্রাম তৈরি করা C++-এ।

সমস্যা বিবরণ

A বা B দ্বারা বিভাজ্য Nth পদ। এখানে, আমরা সেই n সংখ্যক পদটি খুঁজে বের করব যা A বা B দ্বারা বিভাজ্য। এর জন্য, আমরা nth সংখ্যা পর্যন্ত গণনা করব যা A বা B দ্বারা বিভাজ্য।

একটি উদাহরণ নিয়ে সমস্যাটি বুঝি,

ইনপুট

A = 4, B = 3, N = 5

আউটপুট

9

ব্যাখ্যা

যে পদগুলো 3 এবং 4 দ্বারা বিভাজ্য −

3, 4, 6, 8, 9, 12, …

৫ম পদ হল 9।

সমাধান পদ্ধতি

A বা B দ্বারা বিভাজ্য nth পদ বের করার জন্য। আমরা সহজে A বা B দ্বারা বিভাজ্য সংখ্যাগুলি খুঁজে পেতে পারি এবং সিরিজে nth পদই আমাদের উত্তর।

উদাহরণ

#include<iostream> using namespace std; int findNTerm(int N, int A, int B) {    int count = 0;    int num = 1;    while( count < N){       if(num%A == 0 || num%B == 0)          count++;       if(count == N)          return num;          num++;    }    return 0; } int main(){    int N = 12, A = 3, B = 4;    cout<<N<<"th term divisible by "<<A<<" or "<<B<<" is "<<findNTerm(N, A, B)<<endl; }

আউটপুট

12th term divisible by 3 or 4 is 24

সমস্যাটি সমাধান করার অন্য একটি পদ্ধতি হতে পারে বাইনারি সার্চ ব্যবহার করে Nth উপাদান খুঁজে বের করা যা A বা B দ্বারা বিভাজ্য। আমরা Nth পদ নিচের সূত্র ব্যবহার করে খুঁজে বের করব−

NTerm = maxNum/A + maxNum/B + maxNum/lcm(A,B)

এবং Nterm-এর মান অনুযায়ী, আমরা চেক করব যে আমাদের maxNum-এর চেয়ে কম বা বেশি সংখ্যায় যেতে হবে কিনা।

উদাহরণ

#include <iostream> using namespace std; int findLCM(int a, int b) {    int LCM = a, i = 2;    while(LCM % b != 0) {       LCM = a*i;       i++;    }    return LCM; } int findNTerm(int N, int A, int B) {    int start = 1, end = (N*A*B), mid;    int LCM = findLCM(A, B); while (start < end) {    mid = start + (end - start) / 2;    if ( ((mid/A) + (mid/B) - (mid/LCM)) < N)       start = mid + 1;    else       end = mid; }    return start; } int main() {    int N = 12, A = 3, B = 4;    cout<<N<<"th term divisible by "<<A<<" or "<<B<<" is "<<findNTerm(N, A, B); }

আউটপুট

12th term divisible by 3 or 4 is 24

  1. C++-এ সিরিজ 0, 2, 1, 3, 1, 5, 2, 7, 3...-এর N-তম পদ বের করার প্রোগ্রাম

  2. C++-এ সিরিজ 0, 0, 2, 1, 4, 2, 6, 3, 8...-এর N-তম পদ বের করার প্রোগ্রাম

  3. C++-এ a বা b দ্বারা বিভাজ্য Nth পদ বের করার প্রোগ্রাম

  4. C++-এ সিরিজ a, b, b, c, c, c...-এর N-তম পদ বের করার প্রোগ্রাম