Smallest and Largest sum of two n-digit numbers
Last Updated :
07 Jun, 2022
Given an integer N ? 1, the task is to find the smallest and the largest sum of two N digit numbers.
Examples:
Input: N = 1
Output:
Largest = 18
Smallest = 0
Largest 1-digit number is 9 and 9 + 9 = 18
Smallest 1-digit number is 0 and 0 + 0 = 0
Input: N = 2
Output:
Largest = 198
Smallest = 20
Approach:
- For largest: The answer will be 2 * (10N – 1) because the series of sum of two n digit numbers will go on like 2 * 9, 2 * 99, 2 * 999, …
- For smallest:
- If N = 1 then the answer will be 0.
- If N > 1 then the answer will be 2 * (10N – 1) because the series of sum of two n digit numbers will go on like 0, 20, 200, 2000, …
Below is the implementation of the above approach:
C++
#include <bits/stdc++.h>
using namespace std;
int smallestSum( int n)
{
if (n == 1)
return 0;
return (2 * pow (10, n - 1));
}
int largestSum( int n)
{
return (2 * ( pow (10, n) - 1));
}
int main()
{
int n = 4;
cout << "Largest = " << largestSum(n) << endl;
cout << "Smallest = " << smallestSum(n);
return 0;
}
|
Java
class GFG {
static int smallestSum( int n)
{
if (n == 1 )
return 0 ;
return ( 2 * ( int )Math.pow( 10 , n - 1 ));
}
static int largestSum( int n)
{
return ( 2 * (( int )Math.pow( 10 , n) - 1 ));
}
public static void main(String args[])
{
int n = 4 ;
System.out.println( "Largest = " + largestSum(n));
System.out.print( "Smallest = " + smallestSum(n));
}
}
|
Python3
def smallestSum(n):
if (n = = 1 ):
return 0
return ( 2 * pow ( 10 , n - 1 ))
def largestSum(n):
return ( 2 * ( pow ( 10 , n) - 1 ))
n = 4
print ( "Largest = " , largestSum(n))
print ( "Smallest = " , smallestSum(n))
|
C#
using System;
class GFG {
static int smallestSum( int n)
{
if (n == 1)
return 0;
return (2 * ( int )Math.Pow(10, n - 1));
}
static int largestSum( int n)
{
return (2 * (( int )Math.Pow(10, n) - 1));
}
public static void Main()
{
int n = 4;
Console.WriteLine( "Largest = " + largestSum(n));
Console.Write( "Smallest = " + smallestSum(n));
}
}
|
PHP
<?php
function smallestSum( $n )
{
if ( $n == 1)
return 0;
return (2 * pow(10, $n - 1));
}
function largestSum( $n )
{
return 2 * ( pow(10, $n ) - 1 );
}
$n = 4;
echo "Largest = " . largestSum( $n ) . "\n" ;
echo "Smallest = " . smallestSum( $n );
?>
|
Javascript
<script>
function smallestSum(n)
{
if (n == 1)
return 0;
return (2 * Math.pow(10, n - 1));
}
function largestSum(n)
{
return (2 * (Math.pow(10, n) - 1));
}
var n = 4;
document.write( "Largest = " + largestSum(n) + "<br>" );
document.write( "Smallest = " + smallestSum(n));
</script>
|
Output:
Largest = 19998
Smallest = 2000
Time Complexity: O(log n)
Auxiliary Space: O(1)
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...