数字的总和和乘积的最大值,直到C ++中的数字减少到一位数字为止

在本教程中,我们将讨论一个程序,以查找最大的和和数位的乘积,直到数字减少到一位为止

为此,我们将获得一个随机数。我们的任务是找到并打印给定数字的位数的总和与乘积的最大值,直到隐蔽到一位数字为止

示例

#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

以上是 数字的总和和乘积的最大值,直到C ++中的数字减少到一位数字为止 的全部内容, 来源链接: utcz.com/z/322549.html

回到顶部