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

C++ প্রোগ্রাম: নিকটতম পূর্ণসংখ্যা খুঁজে বের করা যাতে সংখ্যা ও এর অঙ্কগুলোর যোগফলের GCD ১-র চেয়ে বড় হয়

মান লিখুন: আমাদের কাছে একটি সংখ্যা N রয়েছে। ধনাত্মক পূর্ণসংখ্যা x-এর জন্য gcdSum(x) ফাংশনটি x এবং তার অঙ্কগুলোর যোগফলের GCD। x >= n হয় এমন ন্যূনতম পূর্ণসংখ্যা x খুঁজে বের করতে হবে যাতে gcdSum(x) > 1।

উদাহরণ

যদি ইনপুট হয় N = 31, তবে আউটপুট হবে 33, কারণ:
31 এবং (3+1)=4-এর GCD = 1
32 এবং (3+2)=5-এর GCD = 1
33 এবং (3+3)=6-এর GCD = 3 (> 1)

সমাধানের ধাপসমূহ

for i := n থেকে n+2 পর্যন্ত:
    jml := 0
    x := i
    যতক্ষণ x > 0:
        jml := jml + x % 10
        x := x / 10
    যদি gcd(i, jml) != 1:
        i রিটার্ন করুন
0 রিটার্ন করুন

C++ বাস্তবায়ন

#include <bits/stdc++.h>
using namespace std;

int solve(int n) {
    for (long i = n; i <= n + 2; i++) {
        long jml = 0;
        long x = i;
        while (x > 0) {
            jml += x % 10;
            x /= 10;
        }
        if (__gcd(i, jml) != 1) {
            return i;
        }
    }
    return 0;
}

int main() {
    int N = 31;
    cout << solve(N) << endl;
}

ইনপুট

31

আউটপুট

33
  1. C++ প্রোগ্রাম: একটি নম্বরের অড ফ্যাক্টরগুলোর যোগফল বের করা

  2. C++-এ দেওয়া সংখ্যার ডিজিটগুলোর যোগফল বের করা

  3. স্ট্রিং-এ স্বরবর্ণ, ব্যঞ্জনবর্ণ, ডিজিট ও হোয়াইটস্পেস গণনার C++ প্রোগ্রাম

  4. পাইথন প্রোগ্রাম: একটি রেঞ্জের সকল নম্বর বের করা যেগুলো পারফেক্ট স্কোয়ার এবং যেগুলোর ডিজিটের যোগফল ১০-এর চেয়ে কম