A special two-digit number is a number such that when the sum of the digits of the number is added to the product of its digits, the result is equal to the original two-digit number.
Examples :
input : 59. output : 59 is a Special Two-Digit Number Explanation: Sum of digits = 5 + 9 = 14 Product of its digits = 5 x 9 = 45 Sum of the sum of digits and product of digits = 14 + 45 = 59 input: 29 output: 29 is a Special Two-digit Number Explanation: Sum of digits = 9 + 2 = 11 Product of digits = 9 * 2 = 18 Sum of the sum of digits and product of digits = 11 + 18 = 29
Approach:
Extract the first and last digit of the number and add and multiply the digits separately. Then, add the sum and product of the digits of the two-digit number and compare it to the original number. If they are same, then it is a Special Two-Digit Number, else it is not.
Below is the implementation of above approach:
// CPP program to find if number is
// a Special Two-Digit number or not
#include<bits/stdc++.h>
using namespace std;
// function to find if number
// is special or not
void specialNumber(int n)
{
// Checking whether entered
// number is 2 digit or not
if (n < 10 || n > 99)
cout << "Invalid Input! Number"
<< " should have 2 digits only";
else
{
// Finding the first digit
int first = n / 10;
// Finding the last digit
int last = n % 10;
// Finding the sum of
// the digits
int sum = first + last;
// Finding the product
// of the digits
int pro = first * last;
if ((sum + pro) == n)
{
cout << n <<" is a Special "
<< "Two-Digit Number";
}
else
{
cout << n << " is Not a "
<< "Special Two-Digit Number";
}
}
}
// Driver Code
int main()
{
int n = 59;
// function calling
specialNumber(n);
return 0;
}
// Java program to find if number is
// a Special Two-Digit number or not
import java.io.*;
class GFG
{
// function to find if number
// is special or not
static void specialNumber(int n)
{
// Checking whether entered
// number is 2 digit or not
if(n < 10 || n > 99)
System.out.println("Invalid Input! " +
"Number should have " +
"2 digits only");
else
{
// Finding the first digit
int first = n / 10;
// Finding the last digit
int last = n % 10;
// Finding the sum
// of the digits
int sum = first + last;
// Finding the product
// of the digits
int pro = first * last;
if((sum + pro) == n)
{
System.out.println(n + " is a Special" +
" Two-Digit Number");
}
else
{
System.out.println(n +" is Not a Special" +
" Two-Digit Number");
}
}
}
// Driver Code
public static void main(String args[])
{
int n = 59;
specialNumber(n);
}
}
# Python3 code to find if
# number is a Special
# Two-Digit number or not
# Function to find if number
# is special or not
def specialNumber(n):
# Checking whether entered
# number is 2 digit or not
if (n < 10 or n > 99):
print("Invalid Input! Number",
" should have 2 digits only")
else:
# Finding the first digit
first = n // 10
# Finding the last digit
last = n % 10
# Finding the sum
# of the digits
sum = first + last
# Finding the product
# of the digits
pro = first * last
if ((sum + pro) == n):
print(n ," is a Special ",
"Two-Digit Number")
else:
print(n , " is Not a ",
"Special Two-Digit Number")
# Driver code
n = 59
specialNumber(n)
# This code is contributed
# by Anant Agarwal.
// C# program to find if number is
// a Special Two-Digit number or not
using System;
class GFG
{
// function to find if number
// is special or not
static void specialNumber(int n)
{
// Checking whether entered
// number is 2 digit or not
if(n < 10 || n > 99)
Console.WriteLine("Invalid Input!" +
" Number should have"+
" 2 digits only");
else
{
// Finding the first digit
int first = n / 10;
// Finding the last digit
int last = n % 10;
// Finding the sum
// of the digits
int sum = first + last;
// Finding the product
// of the digits
int pro = first * last;
if((sum + pro) == n)
{
Console.WriteLine(n + " is a Special"+
" Two-Digit Number");
}
else
{
Console.WriteLine(n + " is Not a Special" +
" Two-Digit Number");
}
}
}
// Driver Code
public static void Main()
{
int n = 59;
specialNumber(n);
}
}
// This code is contributed by vt_m.
<?php
// PHP program to find if number is
// a Special Two-Digit number or not
// function to find if number
// is special or not
function specialNumber($n)
{
// Checking whether entered
// number is 2 digit or not
if ($n < 10 || $n > 99)
echo "Invalid Input!
Number should
have 2 digits only";
else
{
// Finding the first digit
$first = $n / 10;
// Finding the last digit
$last = $n % 10;
// Finding the sum
// of the digits
$sum = $first + $last;
// Finding the product
// of the digits
$pro = $first * $last;
if (($sum + $pro) != $n)
{
echo $n ," is a Special " .
"Two-Digit Number";
}
else
{
echo $n, " is Not a Special".
" Two-Digit Number";
}
}
}
// Driver Code
$n = 59;
// function calling
specialNumber($n);
// This code is contributed by ajit.
?>
<script>
// JavaScript program to find if number is
// a Special Two-Digit number or not
// function to find if number
// is special or not
function specialNumber(n) {
// Checking whether entered
// number is 2 digit or not
if (n < 10 || n > 99)
document.write(
"Invalid Input! Number" +
" should have 2 digits only"
);
else {
// Finding the first digit
var first = parseInt(n / 10);
// Finding the last digit
var last = parseInt(n % 10);
// Finding the sum of
// the digits
var sum = first + last;
// Finding the product
// of the digits
var pro = first * last;
if (sum + pro === n) {
document.write(
n + (" is a Special " +
"Two-Digit Number")
);
} else {
document.write(
n +
(" is Not a " + "Special Two-Digit Number")
);
}
}
}
// Driver Code
var n = 59;
// function calling
specialNumber(n);
</script>
Output
59 is a Special Two-Digit Number
Time Complexity: O(1), As we are performing constant time operations.
Auxiliary Space: O(1), As constant extra space is used.