Home > Backend Development > C++ > body text

The product of N and the largest odd number of digits in C

WBOY
Release: 2023-08-29 13:25:06
forward
1403 people have browsed it

The product of N and the largest odd number of digits in C

Given a number N with we have to product the number with its largest odd digit. If there is no odd digit then print -1.

Like we have initialized N with “153” and the largest odd digit in this number is 5 so the result would be the product of 153 with 5 i.e. 153 * 5 = 765 and if the number has no odd digit like 246 then the output must be -1.

Input − N = 198

Output − 1782

Explanation − 198 * 9 = 1782

Input − N = 15382

Output − 76910

Explanation − 15382 * 5 = 76910

Approach used below is as follows to solve the problem −

  • Take the input N.

  • Traverse every digit and look for odd digits

  • Find the largest odd element.

  • Product the largest off element with the original number N.

  • If there is no odd element update result with -1.

  • Return the result.

Algorithm

Start
In function int largestodd(int n)
   Step 1→ Declare and Initialize large as -1
   Step 2→ Loop While n > 0
      Set digit as n % 10
      If digit % 2 == 1 && digit > large then,
         Set large as digit
      Set n as n / 10
   Step 3→ Return large
In function int findproduct(int n)
   Step 1→ Declare and Initialize large set largestodd(n)
   Step 2→ If large == -1 then,
      Return -1
   Step 3→ Return (n * large)
In function int main()
   Step 1→ Initialize n as 15637
   Print the results from calling findproduct(n)
Stop
Copy after login

Example

 演示

#include <stdio.h>
int largestodd(int n){
   // If all digits are even then
   // we wil return -1
   int large = -1;
   while (n > 0) {
      // checking from the last digit
      int digit = n % 10;
      // If the current digit is odd and
      // is greater than the large
      if (digit % 2 == 1 && digit > large)
         large = digit;
      n = n / 10;
   }
   // To return the maximum
   // odd digit of n
   return large;
}
int findproduct(int n){
   int large = largestodd(n);
   // If there are no odd digits in n
   if (large == -1)
      return -1;
   // Product of n with its largest odd digit
   return (n * large);
}
int main(){
   int n = 15637;
   printf("%d</p><p>", findproduct(n));
   return 0;
}
Copy after login

输出

如果运行上述代码,将会生成以下输出−

109459
Copy after login

The above is the detailed content of The product of N and the largest odd number of digits in C. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!