数字的总和和乘积的最大值,直到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