Maximum of sum and product of digits until number is reduced to a single digit in C++



In this tutorial, we will be discussing a program to find maximum of sum and product of digits until number is reduced to a single digit

For this we will be provided with a random number. Our task is to find and print out the maximum of sum and product of the digits of the given number until it coverts to a single digit

Example

 Live Demo

#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; }

Output

8
Updated on: 2020-09-09T11:52:37+05:30

263 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements