এই টিউটোরিয়ালে, সংখ্যা একটি একক সংখ্যায় হ্রাস না হওয়া পর্যন্ত সংখ্যার সর্বাধিক যোগফল এবং গুণফল খুঁজে বের করার জন্য আমরা একটি প্রোগ্রাম নিয়ে আলোচনা করব
এর জন্য আমাদের একটি এলোমেলো নম্বর দেওয়া হবে। আমাদের কাজ হল প্রদত্ত সংখ্যার সংখ্যার সর্বাধিক যোগফল এবং গুণফল খুঁজে বের করা এবং মুদ্রণ করা যতক্ষণ না এটি একটি একক সংখ্যায় ঢেকে যায়
উদাহরণ
#include<bits/stdc++.h>
using namespace std;
//converting number to single digit by adding
long repeatedSum(long n) {
if (n == 0)
return 0;
return (n % 9 == 0) ? 9 : (n % 9);
}
//converting number to single digit by multiplying
long repeatedProduct(long n) {
long prod = 1;
while (n > 0 || prod > 9) {
if (n == 0) {
n = prod;
prod = 1;
}
prod *= n % 10;
n /= 10;
}
return prod;
}
//finding maximum
long maxSumProduct(long N) {
if (N < 10)
return N;
return max(repeatedSum(N), repeatedProduct(N));
}
int main() {
long n = 631;
cout << maxSumProduct(n)<<endl;
return 0;
} আউটপুট
8