কম্পিউটার

নিকটতম পূর্ণসংখ্যা খুঁজে পেতে C++ প্রোগ্রাম যার জন্য সংখ্যা এবং এর সংখ্যার যোগফল gcd 1 এর থেকে বেশি


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

সুতরাং, যদি ইনপুটটি N =31 এর মত হয়, তাহলে আউটপুট হবে 33, কারণ 31-এর gcd এবং (3+1) হল 1। 32-এর gcd এবং (3+2) হল 1, এবং 33-এর gcd এবং ( 3+3) হল 3.

পদক্ষেপ

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

for initialize i := n, when i <= n + 2, update (increase i by 1), do:
   jml := 0
   x := i
   while x > 0, do:
      jml := jml + x mod 10
      x := x / 10
   if gcd of i and jml is not equal to 1, then:
      return i
return 0

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

#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. পাইথন প্রোগ্রাম একটি পরিসরে সমস্ত সংখ্যা খুঁজে বের করতে যা নিখুঁত বর্গক্ষেত্র এবং সংখ্যার সমস্ত অঙ্কের যোগফল 10 এর কম